dragonfly.git
6 years agokernel - Fix duplicate da0 or da* and locked up boot
Matthew Dillon [Sat, 21 Apr 2018 01:18:52 +0000 (18:18 -0700)]
kernel - Fix duplicate da0 or da* and locked up boot

* Fix duplicate da* reporting at boot which usually results in
  the boot locking up.

* The diskinfo was being installed while before CAM's softc->state
  normalized, potentially allowing I/O to occur during the probe
  sequence and causing the probe state to be repeated.

  Delay calling disk_setdiskinfo() until after softc->state is
  normalized.

6 years agosys/vfs/autofs: Use ksnprintf() (sync with NetBSD)
Tomohiro Kusumi [Fri, 20 Apr 2018 15:01:30 +0000 (08:01 -0700)]
sys/vfs/autofs: Use ksnprintf() (sync with NetBSD)

FreeBSD and DragonFly had strcpy()+strcat().
NetBSD changed it to snprintf().

6 years agosys/vfs/autofs: Fix a comment
Tomohiro Kusumi [Fri, 20 Apr 2018 15:00:57 +0000 (08:00 -0700)]
sys/vfs/autofs: Fix a comment

This isn't really a FALLTHROUGH. Not sure why I even originally
added this since this had never existed in FreeBSD too.

6 years agoipfw3nat: remove the state from the proper tree
Bill Yuan [Thu, 19 Apr 2018 19:06:43 +0000 (19:06 +0000)]
ipfw3nat: remove the state from the proper tree

6 years agokernel - Increase vm_object hash table
Matthew Dillon [Fri, 20 Apr 2018 02:32:30 +0000 (19:32 -0700)]
kernel - Increase vm_object hash table

* Increase table from 64 to 256 entries.

* Improve the hash algorithm considerably for better coverage.

6 years agokernel - Implement td_limit reflection of p_limit
Matthew Dillon [Fri, 20 Apr 2018 00:52:53 +0000 (17:52 -0700)]
kernel - Implement td_limit reflection of p_limit

* Reflect proc->p_limit onto thread->td_limit to allow lockless
  rlimits testing.

* Significantly improves performance for rlimits-testing-centric
  operations such as for dup() and dup2().

* Also fixes performance issues across processes when the plimit
  structure is shared across many processes.  In this situation,
  unnecessary locking conflicts developed due to the high level
  of sharing across what would normally be considered distinct
  processes.

Suggested-by: mjg
6 years agorc.d - Be quiet when check if modules are loaded
Antonio Huete Jimenez [Thu, 19 Apr 2018 23:07:46 +0000 (16:07 -0700)]
rc.d - Be quiet when check if modules are loaded

6 years agokernel - Handle spinlock indefinite wait edge case
Matthew Dillon [Wed, 18 Apr 2018 18:38:30 +0000 (11:38 -0700)]
kernel - Handle spinlock indefinite wait edge case

* The spinlock exclusive priority mechanism can cause an indefinite
  wait situation for shared locks to arise when a large number of cpu
  cores are cycling the same spinlock both shared and exclusive.

  This situation just won't happen for any real workload, but it
  can come up in benchmarks.

* Introduce a quick hack to ensure that this situation does not lead
  to a panic.  The exclusive priority mechanism is ignored once a
  shared spinlock has spun for greater than one second.

6 years agokernel/LINT64: Fix comment.
Sascha Wildner [Wed, 18 Apr 2018 18:12:50 +0000 (20:12 +0200)]
kernel/LINT64: Fix comment.

6 years agoRemove some old tty related code, such as <sgtty.h>, old ioctls etc.
Sascha Wildner [Wed, 18 Apr 2018 16:49:47 +0000 (18:49 +0200)]
Remove some old tty related code, such as <sgtty.h>, old ioctls etc.

It is replaced by POSIX termios on modern systems. Also, remove related
code in libcompat.

<sys/ioctl_compat.h> is now just a few lines. This header will eventually
be removed completely.

Two ports, devel/xxgdb and editors/aee, were still using <sgtty.h> and
have since been fixed. But let's bump __DragonFly_version anyway.

Dports-checking-and-fixing: zrj

6 years agobpf - Add BIOC{S,G}FEEDBACK ioctls
Antonio Huete Jimenez [Wed, 18 Apr 2018 09:39:21 +0000 (02:39 -0700)]
bpf - Add BIOC{S,G}FEEDBACK ioctls

- When set it allows reinjecting packets that were written to the bpf device
  as input to the interface when the output is successful.
- Add an alias to BIOCFEEDBACK which is the name of the
  of the 'set' ioctl in FreeBSD.

Partially-taken-from: NetBSD
Reviewed-by: sephe
Closes: #3126

6 years ago<net/dlt.h> - Remove a comment which is no longer applicable
Antonio Huete Jimenez [Wed, 18 Apr 2018 08:30:33 +0000 (01:30 -0700)]
<net/dlt.h> - Remove a comment which is no longer applicable

6 years ago<net/dlt.h> - Add some more DLTs
Antonio Huete Jimenez [Wed, 18 Apr 2018 08:08:34 +0000 (01:08 -0700)]
<net/dlt.h> - Add some more DLTs

- The DLT_USER* dlts are reserved for private use, they won't be
  used ever by libpcap/tcpdump themselves.
- net/wireshark-qt5 (and probably others) use it

6 years agohammer2 - Add vfs.hammer2.limit_dirty_inodes
Matthew Dillon [Wed, 18 Apr 2018 06:10:02 +0000 (23:10 -0700)]
hammer2 - Add vfs.hammer2.limit_dirty_inodes

* Add vfs.hammer2.limit_dirty_inodes which causes hammer2 to
  immediately begin fsync()ing dirty inodes when the count exceeds
  the limit.  Set a reasonable limit.

* Fixes issues on slower storage when the syncer is unable to
  keep up with the userland frontend, causing the number of
  dirty inodes to increase almost unbounded (limited only by
  kern.maxvnodes).

  Allowing a large number of dirty inodes to accumulate can
  can result in a situation where the clean device buffer
  underpinning the dirty inode is discarded by the kernel before
  the filesystem is able to flush it, forcing additional disk reads
  and slowing things down even more.

* Improve the operation of speedup_syncer() by limiting the
  rate at which we call the function.  It is now called a maximum
  of approximately once per tick (each call speeding up a sync
  by one second).

6 years agokernel - Add dirty vnode management facility
Matthew Dillon [Wed, 18 Apr 2018 06:06:18 +0000 (23:06 -0700)]
kernel - Add dirty vnode management facility

* Keep track of how many vnodes are queued to the syncer, which
  is basically the number of dirty vnodes.  The syncer vnode is
  included so the idle count is usually 1 and not 0.

* vn_syncer_count() returns the count.

* vn_syncer_one() attempts to fsync the next dirty vnode immediately,
  if it can acquire it non-blocking.  The special syncer vnode is
  ignored.  On failure the vnode will be requeued for 1 second,
  so this routine can be cycled.

6 years agoinet6/pim: Return IPPROTO_DONE if the mbuf is freed.
Sepherosa Ziehau [Tue, 17 Apr 2018 13:33:59 +0000 (21:33 +0800)]
inet6/pim: Return IPPROTO_DONE if the mbuf is freed.

This prevents the caller from using the freed mbuf.

Obtained-from: NetBSD via FreeBSD

6 years agokernel - Improve spinlock performance a bit
Matthew Dillon [Tue, 17 Apr 2018 04:27:14 +0000 (21:27 -0700)]
kernel - Improve spinlock performance a bit

* Rearrange indefinite_init() and cpu_pause() in _spin_lock_contested()
  and _spin_lock_shared_contested() to improve performance.

* Fix conditional clearing the SHARED bit to use ovalue intead of
  value.  After review, either can be used but ovalue is more
  appropriate and give us an interlock against SPINLOCK_EXCLWAIT.

Reported-by: mjg_
6 years agokernel: Add -Wmissing-include-dirs to our kernel build.
Sascha Wildner [Mon, 16 Apr 2018 16:03:59 +0000 (18:03 +0200)]
kernel: Add -Wmissing-include-dirs to our kernel build.

6 years agokernel/acpica: Remove ${.OBJDIR}/include from Makefile.inc.
Sascha Wildner [Mon, 16 Apr 2018 16:03:34 +0000 (18:03 +0200)]
kernel/acpica: Remove ${.OBJDIR}/include from Makefile.inc.

This file is included by various module Makefiles, of which only that
of acpica proper needs it. And that already cares about it in the
Makefile. Besides, we build acpica into our standard kernels anyway
now.

This fixes various -Wmissing-include-dirs warnings.

6 years agolvm(8): Use relative path for symlinks and clean up Makefile
Aaron LI [Mon, 16 Apr 2018 06:45:35 +0000 (14:45 +0800)]
lvm(8): Use relative path for symlinks and clean up Makefile

* Use relative path for creating symlinks to the lvm binary

* Remove the unnecessary man page links (which is also broken since the
  wrong variable 'MKLINKS' was used)

* Improve styles a bit

6 years agogcc50: Backport c++11 literal fixes from gcc80.
zrj [Mon, 22 Jan 2018 07:45:18 +0000 (09:45 +0200)]
gcc50: Backport c++11 literal fixes from gcc80.

Fixes: -Wliteral-suffix
C++11 requires a space between literal and string macro

While there, backport 222884 to suppress -Wdeprecated
use of an operand of type 'bool' in 'operator++' is deprecated

6 years agoMakefile.inc1: Add sbin and remove games from btools and ctools path
Aaron LI [Sun, 15 Apr 2018 12:47:05 +0000 (20:47 +0800)]
Makefile.inc1: Add sbin and remove games from btools and ctools path

* Add ${BTOOLSDEST}/sbin and ${CTOOLSDEST}/sbin to ${STRICTTMPPATH} which
  is set as the PATH during the buildworld, although no sbin tools is
  currently used for the buildworld.

* Introduce the variable CTOOLSPATH to hold the ctools path, similar to
  the BTOOLSPATH variable.

* Explain that '/usr/local/bin:/usr/pkg/bin' is appended to STRICTTMPPATH
  to support external compilers.

6 years agodiff: s/.o/.c/ in the Makefile.
Sascha Wildner [Sun, 15 Apr 2018 11:34:32 +0000 (13:34 +0200)]
diff: s/.o/.c/ in the Makefile.

6 years agokern: Unbreak compilation w/o INVARIANTS
Sepherosa Ziehau [Sun, 15 Apr 2018 09:46:42 +0000 (17:46 +0800)]
kern: Unbreak compilation w/o INVARIANTS

6 years agoUpdate the pciconf(8) database.
Sascha Wildner [Sun, 15 Apr 2018 07:44:09 +0000 (09:44 +0200)]
Update the pciconf(8) database.

April 6, 2018 snapshot from https://pci-ids.ucw.cz

6 years ago<sys/elf_common.h>: Add an Elf_Nhdr definition.
Sascha Wildner [Sat, 14 Apr 2018 09:26:29 +0000 (11:26 +0200)]
<sys/elf_common.h>: Add an Elf_Nhdr definition.

Submitted-by: bserrao
Dragonfly-bug: https://bugs.dragonflybsd.org/issues/3130

6 years agoipfw3: remove legacy macros
Bill Yuan [Fri, 13 Apr 2018 15:36:40 +0000 (15:36 +0000)]
ipfw3: remove legacy macros

6 years agoipfw3: format
Bill Yuan [Fri, 13 Apr 2018 15:29:47 +0000 (15:29 +0000)]
ipfw3: format

6 years agoipfw3: list loaded modules
Bill Yuan [Fri, 13 Apr 2018 15:15:38 +0000 (15:15 +0000)]
ipfw3: list loaded modules

6 years agoipfw3nat: move the implementation back to *.c file
Bill Yuan [Fri, 13 Apr 2018 15:11:46 +0000 (15:11 +0000)]
ipfw3nat: move the implementation back to *.c file

6 years agonvme - Improve likelihood of dump success
Matthew Dillon [Fri, 13 Apr 2018 22:31:52 +0000 (15:31 -0700)]
nvme - Improve likelihood of dump success

* Get rid of blocking locks in the dump path.  This can cause severe
  problems if curthread is the idle thread.

* Set aside a request on every queue for dump operation.  This
  request can be retrieved and returned trivially.

* Add a few functions to support dump requests and polling for
  completionsssssssss.

* Remove the unused 'ticks' argument from nvme_wait_request().

6 years agokernel - Improve SPINLOCK, acpi_timer performance under qemu/kvm/VMs
Matthew Dillon [Fri, 13 Apr 2018 04:21:33 +0000 (21:21 -0700)]
kernel - Improve SPINLOCK, acpi_timer performance under qemu/kvm/VMs

* Improve acpi_timer 24-bit performance by reducing use of clock_lock().

* Integrate a delta test into acpi_cputimer.base and remove the
  out-of-band tracking globals.  We can query the timer and calculate
  the return value for deltas less than 1/16 full-range.  Beyond
  that range we need to get the clock_lock() to calculate the high
  24 bits safely and update acpi_cputimer.base.

  On SMP systems, cpu #1 will update acpi_cputimer.base more
  frequently, reducing the chance that multiple cpus will need the
  clock_lock() at the same time.

* Refactor the safe24 code to make it easier to use.

* Improve the regressive SPINLOCK assembly macro, bringing it up to
  modern performance levels.  This fixes unnecessary cache ping-ponging
  during contention.

Suggested-by: mjg_
6 years agoipfw3.8: Some minor adjustments.
Sascha Wildner [Fri, 13 Apr 2018 18:39:32 +0000 (20:39 +0200)]
ipfw3.8: Some minor adjustments.

6 years agoipfw3layer2: misc
Bill Yuan [Fri, 13 Apr 2018 07:09:07 +0000 (07:09 +0000)]
ipfw3layer2: misc

6 years agoipfw3basic: misc
Bill Yuan [Fri, 13 Apr 2018 06:43:39 +0000 (06:43 +0000)]
ipfw3basic: misc

6 years agoipfw3nat: kernel NAT without libalias
Bill Yuan [Fri, 13 Apr 2018 04:25:53 +0000 (04:25 +0000)]
ipfw3nat: kernel NAT without libalias

More than just one address can be configured in each NAT
configuraton and each coming packet will be translated to
one of these addresses randomly.

e.g.
    ipfw3 nat 1 config ip 192.168.1.1 192.168.1.2

A schedule will automatically purge the expired translations.
and its interval can be configure via below sysctl variables.
    net.inet.ip.fw3_nat.udp_timeout
    net.inet.ip.fw3_nat.tcp_timeout
    net.inet.ip.fw3_nat.icmp_timeout

6 years agoipfw3basic: fix `to me`
Bill Yuan [Fri, 13 Apr 2018 04:24:58 +0000 (04:24 +0000)]
ipfw3basic: fix `to me`

6 years agoipfw3nat: a cleanup callout to purge the expired translations
Bill Yuan [Fri, 13 Apr 2018 02:08:26 +0000 (02:08 +0000)]
ipfw3nat: a cleanup callout to purge the expired translations

sysctl net.inet.ip.fw3_nat.cleanup_interval to configure its interval

6 years agoipfw3nat: show translations
Bill Yuan [Fri, 13 Apr 2018 02:02:48 +0000 (02:02 +0000)]
ipfw3nat: show translations

same as 'show ip nat translations'

6 years agoipfw3nat: release the nat context during fini
Bill Yuan [Fri, 13 Apr 2018 01:54:43 +0000 (01:54 +0000)]
ipfw3nat: release the nat context during fini

6 years agoipfw3nat: flush all configurations
Bill Yuan [Fri, 13 Apr 2018 01:49:26 +0000 (01:49 +0000)]
ipfw3nat: flush all configurations

6 years agoipfw3nat: delete configuration
Bill Yuan [Fri, 13 Apr 2018 01:47:14 +0000 (01:47 +0000)]
ipfw3nat: delete configuration

6 years agokbdmux - Simplify taskqueue handling, and get rid of the 1HZ callout.
Imre Vadász [Tue, 27 Feb 2018 19:50:53 +0000 (20:50 +0100)]
kbdmux - Simplify taskqueue handling, and get rid of the 1HZ callout.

6 years ago[bsd-family-tree] add OpenBSD 6.3, DragonFly 5.2.0
Eitan Adler [Thu, 12 Apr 2018 08:04:53 +0000 (08:04 +0000)]
[bsd-family-tree] add OpenBSD 6.3, DragonFly 5.2.0

6 years agoipfw3nat: sysctl vars for nat state timeouts
Bill Yuan [Wed, 11 Apr 2018 22:42:16 +0000 (22:42 +0000)]
ipfw3nat: sysctl vars for nat state timeouts

6 years agoRevert "libssh: Remove local vis.c from the build."
Sascha Wildner [Wed, 11 Apr 2018 16:10:32 +0000 (18:10 +0200)]
Revert "libssh: Remove local vis.c from the build."

This reverts commit dc312142da731a4dd82f924bf4442734ec45e880.

It needs further thought, our <vis.h> does not have VIS_ALL
(see BROKEN_STRNVIS in lib/libssh/config.h).

6 years agolibssh: Remove local vis.c from the build.
Sascha Wildner [Wed, 11 Apr 2018 12:58:13 +0000 (14:58 +0200)]
libssh: Remove local vis.c from the build.

6 years agocontrib/libpcap - Local adjustments
Antonio Huete Jimenez [Mon, 9 Apr 2018 23:44:43 +0000 (16:44 -0700)]
contrib/libpcap - Local adjustments

- Use system's net/bpf.h instead of libpcap's one.
- Will help fixing net/vde2 and possible other ports that use a
  combination of net/bpf.h and pcap.h as described in f92f178f07f

6 years ago<net/dlt.h> - Add a bunch of DLTs from libpcap
Antonio Huete Jimenez [Mon, 9 Apr 2018 23:40:37 +0000 (16:40 -0700)]
<net/dlt.h> - Add a bunch of DLTs from libpcap

- As done in commit 34b07254ea and for the same reason as in
  f92f178f07f
- In prepartion to libpcap local adjustments

6 years agobpf - Add two new instructions
Antonio Huete Jimenez [Mon, 9 Apr 2018 23:38:48 +0000 (16:38 -0700)]
bpf - Add two new instructions

- Add BPF_MOD and BPF_XOR
- In prepartion to libpcap local adjustments

6 years agoSync unvis(1) and vis(1) with NetBSD.
Sascha Wildner [Wed, 11 Apr 2018 08:37:56 +0000 (10:37 +0200)]
Sync unvis(1) and vis(1) with NetBSD.

6 years ago<bus/cam/scsi/scsi_daio.h>: Include <sys/types.h> for off_t.
Sascha Wildner [Tue, 10 Apr 2018 18:45:05 +0000 (20:45 +0200)]
<bus/cam/scsi/scsi_daio.h>: Include <sys/types.h> for off_t.

6 years agovis.3: Use .Er for errno values.
Sascha Wildner [Tue, 10 Apr 2018 18:33:20 +0000 (20:33 +0200)]
vis.3: Use .Er for errno values.

6 years agoMove the IOCTLTRIM ioctl to a better header and rename it to DAIOCTRIM.
Sascha Wildner [Tue, 10 Apr 2018 13:11:49 +0000 (15:11 +0200)]
Move the IOCTLTRIM ioctl to a better header and rename it to DAIOCTRIM.

<sys/ioctl_compat.h> really is only for old tty related stuff.

Also bump __DragonFly_version, because there is one port which uses
IOCTLTRIM currently, i.e. benchmarks/fio. We'll send a patch upstream
that switches it to DAIOCTRIM, and once the updated version has hit
the /usr/dports tree, I will remove IOCTLTRIM from base.

6 years agolibutil: Specify MLINKS a bit more readable.
Sascha Wildner [Tue, 10 Apr 2018 12:31:50 +0000 (14:31 +0200)]
libutil: Specify MLINKS a bit more readable.

6 years ago<vis.h>: Bring back namespace pollution reduction.
Sascha Wildner [Tue, 10 Apr 2018 12:17:44 +0000 (14:17 +0200)]
<vis.h>: Bring back namespace pollution reduction.

6 years agoipfw3nat: when the nat config is already exists
Bill Yuan [Tue, 10 Apr 2018 09:21:53 +0000 (09:21 +0000)]
ipfw3nat: when the nat config is already exists

6 years agosys/vfs/autofs: Use d_xxx_t typedefs for /dev/autofs
Tomohiro Kusumi [Tue, 10 Apr 2018 08:44:58 +0000 (17:44 +0900)]
sys/vfs/autofs: Use d_xxx_t typedefs for /dev/autofs

6 years agoSync err(3) message with 4be4de019f
Tomohiro Kusumi [Tue, 10 Apr 2018 08:03:42 +0000 (17:03 +0900)]
Sync err(3) message with 4be4de019f

6 years agolibc: Move to a format for specifying MLINKS that's less hard on the eyes.
Sascha Wildner [Tue, 10 Apr 2018 07:19:48 +0000 (09:19 +0200)]
libc: Move to a format for specifying MLINKS that's less hard on the eyes.

We do it like this in other places of the tree already and will eventually
move to this everywhere.

6 years agolibc: Sort unvis.3 MLINKS alphabetically, too.
Sascha Wildner [Tue, 10 Apr 2018 05:54:41 +0000 (07:54 +0200)]
libc: Sort unvis.3 MLINKS alphabetically, too.

6 years agolibc: Fix up MLINKS for the recent upgrade of vis.3 and unvis.3.
Sascha Wildner [Tue, 10 Apr 2018 05:51:57 +0000 (07:51 +0200)]
libc: Fix up MLINKS for the recent upgrade of vis.3 and unvis.3.

MLINKS have the format:

MLINKS+=<src> <targ> <src> <targ> ...

6 years agoipfw3nat: show nat config in kernel
Bill Yuan [Mon, 9 Apr 2018 14:33:05 +0000 (14:33 +0000)]
ipfw3nat: show nat config in kernel

6 years agoipfw3nat: show config in userland
Bill Yuan [Mon, 9 Apr 2018 14:26:18 +0000 (14:26 +0000)]
ipfw3nat: show config in userland

6 years agoipfw3nat: func to get new alias
Bill Yuan [Mon, 9 Apr 2018 14:13:58 +0000 (14:13 +0000)]
ipfw3nat: func to get new alias

6 years agoRemove a number of duplicated includes in userland.
Sascha Wildner [Mon, 9 Apr 2018 20:26:14 +0000 (22:26 +0200)]
Remove a number of duplicated includes in userland.

6 years agolibc: Replace vis(3) and unvis(3) files with NetBSD versions
François Tigeot [Mon, 9 Apr 2018 19:54:26 +0000 (21:54 +0200)]
libc: Replace vis(3) and unvis(3) files with NetBSD versions

* Rendering the corresponding APIs compatible with NetBSD and FreeBSD.

* Keep strnvis() as-is, keeping it compatible with previous DragonFly
  versions, OpenBSD and libbsd

* We already had the original OpenBSD version of strnvis(), which
  predates the NetBSD one by more than 10 years

* New userland utilities code partially obtained from FreeBSD.

Reviewed-by: swildner
6 years agoipfw3nat: nat func to replace the src or dst
Bill Yuan [Mon, 9 Apr 2018 13:02:55 +0000 (13:02 +0000)]
ipfw3nat: nat func to replace the src or dst

The `src` will be replaced by `alias` when a packet is leaving the system.
Hence, the packet is from `src` to `dst` before been translated. And after
been translated, the packet is from `alias` to `dst`.

The state for outgoing packet will be stored in the nat_context of current
CPU. But due to the nature of the NAT, the returning packet may be handled
by another CPU. Hence, a state for the returning packet will be prepared and
store into the nat_context of the right CPU.

6 years agoipfw3nat: check_nat func
Bill Yuan [Mon, 9 Apr 2018 12:31:05 +0000 (12:31 +0000)]
ipfw3nat: check_nat func

6 years agoipfw3nat: add conf in kernel
Bill Yuan [Mon, 9 Apr 2018 10:39:07 +0000 (10:39 +0000)]
ipfw3nat: add conf in kernel

6 years agoipfw3nat: nat_config func in userland.
Bill Yuan [Mon, 9 Apr 2018 10:22:06 +0000 (10:22 +0000)]
ipfw3nat: nat_config func in userland.

6 years agoipfw3nat: standardize the function names
Bill Yuan [Mon, 9 Apr 2018 10:03:20 +0000 (10:03 +0000)]
ipfw3nat: standardize the function names
prefix:
ip_fw3_  - function in kernel space
ipfw3_   - function in userland.

6 years agoncurses: Allow for easier bootstrap of libtic.
zrj [Sun, 8 Apr 2018 11:52:47 +0000 (14:52 +0300)]
ncurses: Allow for easier bootstrap of libtic.

Mainly as backwards compat for gcc80.

Cherry-pick to 5.2

6 years agogcc50: Deal with -Wnarrowing when compiled by gcc80.
zrj [Mon, 22 Jan 2018 07:46:00 +0000 (09:46 +0200)]
gcc50: Deal with -Wnarrowing when compiled by gcc80.

Cherry-pick to 5.2

6 years agobootpd/wpa_supplicant: Fix some warnings.
Sascha Wildner [Sun, 8 Apr 2018 21:03:49 +0000 (23:03 +0200)]
bootpd/wpa_supplicant: Fix some warnings.

6 years agomtree/BSD.include.dist: Sort a bit.
Sascha Wildner [Sun, 8 Apr 2018 19:38:16 +0000 (21:38 +0200)]
mtree/BSD.include.dist: Sort a bit.

6 years agoRemove libalias headers and kernel module via 'make upgrade'.
Sascha Wildner [Sun, 8 Apr 2018 18:30:02 +0000 (20:30 +0200)]
Remove libalias headers and kernel module via 'make upgrade'.

6 years agoipfw3nat: move implimentation back to *.c file
Bill Yuan [Sun, 8 Apr 2018 13:51:25 +0000 (13:51 +0000)]
ipfw3nat: move implimentation back to *.c file

6 years agoipfw3nat: cleanup for LINT64 build
Bill Yuan [Sun, 8 Apr 2018 12:12:00 +0000 (12:12 +0000)]
ipfw3nat: cleanup for LINT64 build

6 years agoipfw3nat: standardize the function names
Bill Yuan [Sun, 8 Apr 2018 10:50:58 +0000 (10:50 +0000)]
ipfw3nat: standardize the function names

prefix:
    ip_fw3_  - function in kernel space
    ipfw_    - function in userland.

6 years agoipfw3nat: remove the module dependency
Bill Yuan [Sun, 8 Apr 2018 08:18:12 +0000 (08:18 +0000)]
ipfw3nat: remove the module dependency

6 years agoipfw3nat: cleanup 3
Bill Yuan [Sun, 8 Apr 2018 07:54:02 +0000 (07:54 +0000)]
ipfw3nat: cleanup 3

6 years agoipfw3nat: RB_tree to keep the translation records
Bill Yuan [Sun, 8 Apr 2018 07:50:55 +0000 (07:50 +0000)]
ipfw3nat: RB_tree to keep the translation records

6 years agoipfw3nat: cleanup 2
Bill Yuan [Sun, 8 Apr 2018 07:37:54 +0000 (07:37 +0000)]
ipfw3nat: cleanup 2

6 years agoipfw3nat: delete the libalias 3
Bill Yuan [Sun, 8 Apr 2018 07:04:17 +0000 (07:04 +0000)]
ipfw3nat: delete the libalias 3

6 years agoipfw3nat: delete the libalias 2
Bill Yuan [Sun, 8 Apr 2018 07:00:22 +0000 (07:00 +0000)]
ipfw3nat: delete the libalias 2

6 years agoipfw3nat: delete the libalias 1
Bill Yuan [Sun, 8 Apr 2018 06:54:50 +0000 (06:54 +0000)]
ipfw3nat: delete the libalias 1

6 years agoipfw3nat: cleanup
Bill Yuan [Sun, 8 Apr 2018 06:41:43 +0000 (06:41 +0000)]
ipfw3nat: cleanup

6 years agokernel - Change AcpiOs*Lock() operation to reduce freezes
Matthew Dillon [Sun, 8 Apr 2018 01:06:08 +0000 (18:06 -0700)]
kernel - Change AcpiOs*Lock() operation to reduce freezes

* Rework the AcpiOs*Lock() functions to use a lockmgr lock + critical
  section instead of a spin lock.  There are situations where the
  ACPI contrib code is holding one of these locks and then issues
  high level calls that might block.

* When called from the idle thread, AcpiOs*Lock() uses a separate
  spin-lock as before.  The idle thread of course is not allowed to
  block (except for HLT related activities).  This lock will be
  independent of the lockmgr lock, so we are assuming that cpu->idle
  operation is independent from ACPI execution on other cpu threads.

* Fixes at least one panic, and also possibly lockups here and
  there.

6 years agokernel - Fix pageout / sbusy race
Matthew Dillon [Sun, 8 Apr 2018 01:03:23 +0000 (18:03 -0700)]
kernel - Fix pageout / sbusy race

* For now, vm_page_sbusy_try() cannot safely increment m->busy_count,
  and then decrement it if it turns out to be busy.  This interferes
  with any other thread that is holding the page hard-busy and expects
  the soft-busy mask to remain 0.

* Eventually we should be able to rework the fetchadd optimization back
  in.  Use atomic_cmpset_*() for now though.

6 years agoufs: Rename a number of UFS constants throughout the tree.
Sascha Wildner [Sat, 7 Apr 2018 22:03:47 +0000 (00:03 +0200)]
ufs: Rename a number of UFS constants throughout the tree.

ROOTINO       -> UFS_ROOTINO
WINO          -> UFS_WINO
NDADDR        -> UFS_NDADDR
NIADDR        -> UFS_NIADDR
MAXSYMLINKLEN -> UFS1_MAXSYMLINKLEN

This helps to better sepate them from identically named EXT2 constants
which I'll rename in a later commit.

It also helps with my makefs(8) port.

I went with FreeBSD's names, so it is UFS1_MAXSYMLINKLEN even though
we'll probably never have UFS2, but since they are in public headers,
some stuff in dports might benefit from it in the future.

For safety, bump <sys/param.h> too.

6 years agogetty(8): Sync with FreeBSD.
Sascha Wildner [Sat, 7 Apr 2018 19:37:05 +0000 (21:37 +0200)]
getty(8): Sync with FreeBSD.

* Change gettytab's 'he' capability to accept a POSIX extended regexp
  to mess with the system's hostname better (r313107).

* Add a new 'iM' capability to specify a program to be run that
  generates the banner message displayed before the login prompt.
  This extends the functionality of 'im'.

* Do not loop indefinitely if the device node doesn't exist (think
  USB serial adapters e.g.).

* Various bug fixes and minor issue adjustments.

6 years agoRemove usage of syslog(3)'s LOG_ODELAY because it is the default.
Sascha Wildner [Sat, 7 Apr 2018 10:48:56 +0000 (12:48 +0200)]
Remove usage of syslog(3)'s LOG_ODELAY because it is the default.

6 years agosdp.3: Adjust protos to follow the code.
Sascha Wildner [Fri, 6 Apr 2018 06:34:19 +0000 (08:34 +0200)]
sdp.3: Adjust protos to follow the code.

6 years agoypclnt.3: Adjust yp_first() and yp_next() protos to follow the code.
Sascha Wildner [Fri, 6 Apr 2018 06:25:08 +0000 (08:25 +0200)]
ypclnt.3: Adjust yp_first() and yp_next() protos to follow the code.

6 years agoioctl.9: Remove ioctl() from SYNOPSIS, it's described in ioctl.2.
Sascha Wildner [Fri, 6 Apr 2018 06:18:01 +0000 (08:18 +0200)]
ioctl.9: Remove ioctl() from SYNOPSIS, it's described in ioctl.2.

6 years agozone.9: Update a bit better.
Sascha Wildner [Fri, 6 Apr 2018 06:10:19 +0000 (08:10 +0200)]
zone.9: Update a bit better.

* zinitna() doesn't take a vm_object anymore (see e16c650d787872d60f6ca),
  so this commit reverts 35f324174f2040a627e18e8b6f008e7a37d818e9.

* Use .Fn instead of .Fa for functions.

* Remove old documentation about the zone functions not being SMP-safe.

6 years agopax(8): Remove old prototypes.
Sascha Wildner [Thu, 5 Apr 2018 17:05:45 +0000 (19:05 +0200)]
pax(8): Remove old prototypes.

6 years agozone.9: Include <vm/vm_object.h> for struct vm_object.
Sascha Wildner [Thu, 5 Apr 2018 15:47:45 +0000 (17:47 +0200)]
zone.9: Include <vm/vm_object.h> for struct vm_object.

6 years agopax(8): Switch to using libc's pwcache instead of a local implementation.
Sascha Wildner [Thu, 5 Apr 2018 07:36:00 +0000 (09:36 +0200)]
pax(8): Switch to using libc's pwcache instead of a local implementation.

Based-on: NetBSD