dragonfly.git
6 years agokernel - Intel user/kernel separation MMU bug fix part 3/3
Matthew Dillon [Fri, 5 Jan 2018 08:47:46 +0000 (00:47 -0800)]
kernel - Intel user/kernel separation MMU bug fix part 3/3

* Implement the isolated pmap template, iso_pmap.  The pmap code will
  generate a dummy iso_pmap containing only the kernel mappings required
  for userland to be able to transition into the kernel and vise-versa.

  The mappings needed are:

  (1) The per-cpu trampoline area for our stack (rsp0)
  (2) The global descriptor table (gdt) for all cpus
  (3) The interrupt descriptor table (idt) for all cpus
  (4) The TSS block for all cpus (we store this in the trampoline page)
  (5) Kernel code addresses for the interrupt vector entry and exit

* In this implementation the 'kernel code' addresses are currently just
  btext to etext.  That is, the kernel's primary text area.  Kernel
  data and bss are not part of the isolation map.

  TODO - just put the vector entry and exit points in the map, and
  not the entire kernel.

* System call performance is reduced when isolation is turned on.
  100ns -> 350ns or so.  However, typical workloads should not lose
  more than 5% performance or so.  System-call heavy and interrupt-heavy
  workloads (network, database, high-speed storage, etc) can lose a lot
  more performance.

  We leave the trampoline code in-place whether isolation is turned on
  or not.  The trampoline overhead, without isolation, is only 5nS or so.

* Fix a missing exec-related trampoline initialization.

* Clean-up kernel page table PTEs a bit. PG_M is ignored on non-terminal
  PTEs, so don't set it.  Also don't set PG_U in non-terminal kernel
  page table pages (PG_U is never set on terminal PTEs so this wasn't
  a problem, but we should be correct).

* Fix a bug in fast_syscall's trampoline stack.  The wrong stack
  pointer was being loaded.

* Move mdglobaldata->gd_common_tss to privatespace->common_tss.
  Place common_tss in the same page as the trampoline to reduce
  exposure to globaldata from the isolated MMU context.

* 16-byte align struct trampframe for convenience.

* Fix a bug in POP_FRAME.  Always cli in order to avoid getting
  an interrupt just at the iretq instruction, which might be
  misinterpreted.

6 years agokernel - Intel user/kernel separation MMU bug fix part 2/3
Matthew Dillon [Thu, 4 Jan 2018 18:34:51 +0000 (10:34 -0800)]
kernel - Intel user/kernel separation MMU bug fix part 2/3

* Cleanup pass.  Throw in some documentation.

* Move the gd_pcb_* fields into the trampoline page to allow
  kernel memory to be further restricted in part 3.

6 years agokernel - Intel user/kernel separation MMU bug fix part 1/3
Matthew Dillon [Wed, 3 Jan 2018 20:45:17 +0000 (12:45 -0800)]
kernel - Intel user/kernel separation MMU bug fix part 1/3

* Part 1/3 of the fix for the Intel user/kernel separation MMU bug.
  It appears that it is possible to discern the contents of kernel
  memory with careful timing measurements of instructions due to
  speculative memory reads and speculative instruction execution
  by Intel cpus.  This can happen because Intel will allow both to
  occur even when the memory access is later disallowed due to
  privilege separation in the PTE.

  Even though the execution is always aborted, the speculative
  reads and speculative execution results in timing artifacts which
  can be measured.  A speculative compare/branch can lead to timing
  artifacts that allow the actual contents of kernel memory to be
  discerned.

  While there are multiple speculative attacks possible, the Intel
  bug is particularly bad because it allows a user program to more
  or less effortlessly access kernel memory (and if a DMAP is
  present, all of physical memory).

* Part 1 implements all the logic required to load an 'isolated'
  version of the user process's PML4e into %cr3 on all user
  transitions, and to load the 'normal' U+K version into %cr3 on
  all transitions from user to kernel.

* Part 1 fully allocates, copies, and implements the %cr3 loads for
  the 'isolated' version of the user process PML4e.

* Part 1 does not yet actually adjust the contents of this isolated
  version to replace the kernel map with just a trampoline map in
  kernel space.  It does remove the DMAP as a test, though.  The
  full separation will be done in part 3.

6 years agokernel/vmxnet3: Fix wrong check (no functional change).
Sascha Wildner [Fri, 5 Jan 2018 16:46:05 +0000 (17:46 +0100)]
kernel/vmxnet3: Fix wrong check (no functional change).

6 years agomorse(6): correct email for original author
Eitan Adler [Fri, 5 Jan 2018 06:48:14 +0000 (22:48 -0800)]
morse(6): correct email for original author

Obtained-From: FreeBSD

6 years agolibthread_xu: Fix a typo in a comment.
Sascha Wildner [Fri, 5 Jan 2018 02:01:22 +0000 (03:01 +0100)]
libthread_xu: Fix a typo in a comment.

6 years agoClean up a bit for symlinked headers.
Sascha Wildner [Fri, 5 Jan 2018 01:57:01 +0000 (02:57 +0100)]
Clean up a bit for symlinked headers.

<errno.h> as well as <poll.h> are symlinked to their <sys/...>
counterparts, so there is no need to include both.

Also fix a comment that suggests that there is a difference.

6 years agokernel/evdev: Expose headers to userland.
Peeter Must [Thu, 4 Jan 2018 12:34:57 +0000 (14:34 +0200)]
kernel/evdev: Expose headers to userland.

6 years agolibc/nls: Sync with FreeBSD.
zrj [Thu, 4 Jan 2018 10:02:59 +0000 (12:02 +0200)]
libc/nls: Sync with FreeBSD.

Move out catentry structure destroy code to its own function.
Set refcount = 0 in SAVEFAIL() macro.

Taken-from: FreeBSD

6 years agoRemove src/share/nls.
zrj [Wed, 3 Jan 2018 07:25:04 +0000 (09:25 +0200)]
Remove src/share/nls.

It was never hooked into the build after initial Citrus import in:
32a7b49af5025caa26dc703952f47b39d046c9eb

6 years agoSimplify legacy share/nls handling.
zrj [Wed, 3 Jan 2018 07:20:52 +0000 (09:20 +0200)]
Simplify legacy share/nls handling.

Remove src/nls.alias and create legacy compat links directly.
The nls.alias method is unsafe and will break with our 'make upgrade'.

6 years agomorse(6): add static where appropriate
Eitan Adler [Thu, 4 Jan 2018 05:19:08 +0000 (21:19 -0800)]
morse(6): add static where appropriate

6 years agoipfw.8: Fix 'not [iface]' and 'not [iface:net]' support
Sepherosa Ziehau [Wed, 3 Jan 2018 05:41:00 +0000 (13:41 +0800)]
ipfw.8: Fix 'not [iface]' and 'not [iface:net]' support

6 years agoem/emx: Sync with Intel's em 7.6.2
Sepherosa Ziehau [Sat, 9 Dec 2017 04:10:25 +0000 (12:10 +0800)]
em/emx: Sync with Intel's em 7.6.2

- Fix RX filter settings when exiting promiscous mode.
- Add workaround for I219 resetting.
- Fix some settings for 82574.

Tested-by: dillon@ (I219)
6 years agodrm/i915: Add Coffee Lake support
François Tigeot [Tue, 2 Jan 2018 21:25:54 +0000 (22:25 +0100)]
drm/i915: Add Coffee Lake support

* This commit mostly adds PCI IDs

* Handle all Coffee Lake GPUs as Kaby Lake ones for now

6 years agocal(1): Rename to use de_AT.ISO8859-15 calendar.
zrj [Tue, 2 Jan 2018 07:03:55 +0000 (09:03 +0200)]
cal(1): Rename to use de_AT.ISO8859-15 calendar.

6 years agolocales: Add "is_IS.ISO8859-1" locale.
zrj [Tue, 2 Jan 2018 06:02:42 +0000 (08:02 +0200)]
locales: Add "is_IS.ISO8859-1" locale.

Mainly for testing, we already have -15 and UTF-8 ones.

6 years agocldr2def: Fix few typos in tools.
zrj [Tue, 2 Jan 2018 05:59:15 +0000 (07:59 +0200)]
cldr2def: Fix few typos in tools.

While there, do not hardcode /usr/src as a source directory.

6 years agokernel/nata: Add loader hint to disable nata attach.
zrj [Mon, 1 Jan 2018 08:51:48 +0000 (10:51 +0200)]
kernel/nata: Add loader hint to disable nata attach.

For cases where atapci devices (including cdroms) would fail to attach or have
other issues and are not needed for booting(like setup uses CAM, NVME, VIRTIO).

We include nata(4) in a X86_64_GENERIC kernel config, probing of ata bus can be
disabled by setting: "atapciN.disabled=1" (where N is ata pci unit).

6 years agoBump the copyrights.
Sascha Wildner [Mon, 1 Jan 2018 00:00:00 +0000 (01:00 +0100)]
Bump the copyrights.

Happy new 2018 to everyone and thanks for all the help and support! :)

6 years agokernel/nata: Add more INTEL chipset IDs.
zrj [Mon, 27 Nov 2017 08:28:03 +0000 (10:28 +0200)]
kernel/nata: Add more INTEL chipset IDs.

Refactor the ata_intel_new_setmode().

Taken-from: FreeBSD

6 years agokernel/nata: Add bunch of chipset IDs.
zrj [Mon, 27 Nov 2017 07:57:17 +0000 (09:57 +0200)]
kernel/nata: Add bunch of chipset IDs.

Minor fixes here and there. Expertimental.

Taken-from: FreeBSD

6 years agokernel/nata: Handle soft resets in ahci better.
zrj [Mon, 27 Nov 2017 06:05:41 +0000 (08:05 +0200)]
kernel/nata: Handle soft resets in ahci better.

This brings back the ATA_AHCI_GHC_AE|ATA_AHCI_GHC_HR.

Could not make ata_ahci_issue_cmd() to work reliably on my Intel 63XXESB2
SATA300 controller, for now this version will do. Experimental.

It is better to focus on implementing the CAM_ATA and prune ata-ahci.c.

6 years agokernel/nata: Deal with ATA_DEV() and atadev->unit.
zrj [Sun, 26 Nov 2017 15:53:16 +0000 (17:53 +0200)]
kernel/nata: Deal with ATA_DEV() and atadev->unit.

Hopefully I got all places correctly.

While there, some misc cleanup.

6 years agokernel/nata: Fix HT1000 DMA engine 64k transfer issue.
zrj [Sun, 26 Nov 2017 13:04:22 +0000 (15:04 +0200)]
kernel/nata: Fix HT1000 DMA engine 64k transfer issue.

Some chips seem to need 16bit writes.

Taken-from: FreeBSD

Also noticed interesting change back in:
  5b527db0a83182c576889a67555810d780759bb7

6 years agokernel/nata: Extract ata_tf_read() and ata_tf_write().
zrj [Sun, 26 Nov 2017 12:13:19 +0000 (14:13 +0200)]
kernel/nata: Extract ata_tf_read() and ata_tf_write().

While there swap check order ata_intel_31244_command() and
adjust few places to use request->parent.

No functional change.

6 years agokernel/nata: Extract ad_get_geometry().
zrj [Sun, 26 Nov 2017 11:02:45 +0000 (13:02 +0200)]
kernel/nata: Extract ad_get_geometry().

While there, extract ata_unit2str() too.

6 years agokernel/nata: Add Adaptec 1420 support.
zrj [Sat, 25 Nov 2017 19:07:45 +0000 (21:07 +0200)]
kernel/nata: Add Adaptec 1420 support.

It depends on Marwell so group it together.

While there, split out Cenatek, Micron generic chipset support to their own
drivers. Also fix up few drivers that cannot reliably do 64k transfers and
remove few unused ATA_AHCI_P_CMD_* defines.

Taken-from: FreeBSD

6 years agokernel/nata: Extract reset functions in chipset drivers.
zrj [Sat, 25 Nov 2017 16:21:00 +0000 (18:21 +0200)]
kernel/nata: Extract reset functions in chipset drivers.

Explicitly do not import any port multipliers support for now.
Use only higher half of device signature, some devices return
incorrect values in lower part and causes issues in detection.
All of this is a bit messy in ata-ahci.c.

While there, include several later bugfixes.

Taken-from: FreeBSD

6 years agokernel/nata: Misc cleanup in non chipset codes.
zrj [Sat, 25 Nov 2017 09:01:41 +0000 (11:01 +0200)]
kernel/nata: Misc cleanup in non chipset codes.

  * Move some stuff around.
  * Add local implementations of biofinish() and g_io_deliver().
  * Add prints for READ_NATIVE_MAX_ADDRESS.
  * Use >= in comparisons for devclass_get_maxunit()

No functional change.

6 years agokernel/nata: Return more data for natacontrol(8).
zrj [Fri, 24 Nov 2017 15:17:16 +0000 (17:17 +0200)]
kernel/nata: Return more data for natacontrol(8).

 * include info about backing subdisks
 * use last 16 bytes of serial number in meta (as MatrixRAID does)
 * add optional automatc spindown/spinup support (dmesg noisy)
 * various cleanups
 * natacontrol(8) additions + cleanup

Taken-from: FreeBSD

6 years agokernel/nata: Pass interrupt function to ata_setup_interrupt().
zrj [Fri, 24 Nov 2017 13:08:13 +0000 (15:08 +0200)]
kernel/nata: Pass interrupt function to ata_setup_interrupt().

There is one strange change ATA_AHCI_GHC_HR 0x80000001 -> 0x00000001.
It is used for AHCI reset, all other bits are already in place so going
with the flow on this one.

Futher reduce differences with FreeBSD r183724:
  * add ata_netcell_setmode() instead of relying on ata_generic_chipinit()
  * add ata_promise_mio_setprd() for promise
  * prepare siliconimage for port multipliers
  * spray some KASSERT() here and there
  * fix typo for ATA_READ_NATIVE_MAX_ADDRESS

Taken-from: FreeBSD

6 years agokernel/nata: Constification.
zrj [Thu, 23 Nov 2017 20:24:45 +0000 (22:24 +0200)]
kernel/nata: Constification.

Attempt at making nata a bit more safe:
  * const attributes where possible
  * add and use ata_set_desc() helper
  * add early returns (for future split modules support)
  * fix a bug in ata-sis.c where it was patching ids table.

As a bonus, now CCVER=gcc47 no longer warn on -Warray-bounds in ata-ite.c,
finally allowing to buildkernel w/o NO_WERROR (ata_mode2idx() in ata-pci.c).

No functional change intended, except for bugfix in ata-sis.c.

6 years agokernel/nata: Separate sata bits.
zrj [Thu, 23 Nov 2017 17:34:27 +0000 (19:34 +0200)]
kernel/nata: Separate sata bits.

Do some cleanup of defines and headers.
Rename few ATI controllers.

While there, remove no longer used PC98 defines.

6 years agokernel/nata: Allow disabling complicated chipset drivers.
zrj [Thu, 23 Nov 2017 12:19:53 +0000 (14:19 +0200)]
kernel/nata: Allow disabling complicated chipset drivers.

There is no point for ATA_NO_ATI option (ati chipset setup relies on sii).
Using ATA_NO_AHCI will automatically disable these ata chipset drivers:
  intel, marvel, nvidia, promise, siliconimage, sis, via

Only for development until nata(4) gets updated.

6 years agokernel/nata: Move-out public chipset setup related defines.
zrj [Thu, 23 Nov 2017 10:10:10 +0000 (12:10 +0200)]
kernel/nata: Move-out public chipset setup related defines.

Taken-from: FreeBSD

6 years agokernel/nata: Use reg == 0x63 for NVIDIA chipsets.
zrj [Thu, 23 Nov 2017 07:33:31 +0000 (09:33 +0200)]
kernel/nata: Use reg == 0x63 for NVIDIA chipsets.

It is not clear whether it was modularization artifact or actual bugfix.
For now changing to match FreeBSD ata variant. No hardware to test it.

This might need to be reverted if chipset initialization is wrong.

6 years agokernel/nata: Use cfg1 on AMD and NVIDIA chipsets.
zrj [Thu, 23 Nov 2017 05:50:35 +0000 (07:50 +0200)]
kernel/nata: Use cfg1 on AMD and NVIDIA chipsets.

It is now clear that only one config state is needed.
Mainly to match the FreeBSD variant for less diffs.

6 years agokernel/nata: Remove common ata_via_family_setmode().
zrj [Wed, 22 Nov 2017 19:04:14 +0000 (21:04 +0200)]
kernel/nata: Remove common ata_via_family_setmode().

Just extract and use vendor specific versions.
Note: there is some confusion about reg == 0x53 vs 0x63 for some chipsets.

For now leave the previous behaviour, thus no functional change.

6 years agokernel/nata: Split out huge ata-chipsets.c
zrj [Wed, 22 Nov 2017 13:54:19 +0000 (15:54 +0200)]
kernel/nata: Split out huge ata-chipsets.c

In preparations for pseudo-modularization.
If we decide to modularizate this one, it would be just wrapping each of the
chipsets sources in its own kernel module. Current variant just simply includes
everything back together while still allowing to work with individual chipset.
Thus no functional change.

6 years agoftpd(8): Revert a Makefile change that was not meant to be pushed.
Sascha Wildner [Sun, 31 Dec 2017 16:49:00 +0000 (17:49 +0100)]
ftpd(8): Revert a Makefile change that was not meant to be pushed.

6 years agoAdd __attribute__((__noreturn__)) to various function prototypes in libexec/.
Sascha Wildner [Sun, 31 Dec 2017 16:42:07 +0000 (17:42 +0100)]
Add __attribute__((__noreturn__)) to various function prototypes in libexec/.

This general cleanup is useful in various ways. It helps the compiler
optimize better and it also helps later GCCs detect better when to give
-Wimplicit-fallthrough warnings and when not.

Found-with: -Wsuggest-attribute=noreturn

6 years agorpc.sprayd(8): Staticize.
Sascha Wildner [Sun, 31 Dec 2017 15:16:09 +0000 (16:16 +0100)]
rpc.sprayd(8): Staticize.

6 years agotftpd(8): Staticize.
Sascha Wildner [Sun, 31 Dec 2017 15:12:01 +0000 (16:12 +0100)]
tftpd(8): Staticize.

6 years agotelnetd(8): Remove duplicate prototypes.
Sascha Wildner [Sun, 31 Dec 2017 14:59:45 +0000 (15:59 +0100)]
telnetd(8): Remove duplicate prototypes.

6 years agotools: Do not hardcode path to perl.
zrj [Sun, 31 Dec 2017 14:13:54 +0000 (16:13 +0200)]
tools: Do not hardcode path to perl.

Solves issue with DPorts and Ravenports.

6 years agoworld: Avoid extended ASCII.
zrj [Sun, 31 Dec 2017 14:12:54 +0000 (16:12 +0200)]
world: Avoid extended ASCII.

Use UTF-8 where needed, use plain ASCII where possible.

No functional change.

6 years agosys: Avoid extended ASCII.
zrj [Sun, 31 Dec 2017 14:08:21 +0000 (16:08 +0200)]
sys: Avoid extended ASCII.

Use UTF-8 where needed, use plain ASCII where possible.
Minor cleanup in dev/raid/arcmsr/arcmsr.h (for readability).

No functional change.

6 years agoRemove various 'r' commands and daemons.
Sascha Wildner [Sun, 31 Dec 2017 13:53:38 +0000 (14:53 +0100)]
Remove various 'r' commands and daemons.

rcp(1), rlogin(1), rlogind(1), rsh(1) and rshd(1). In the unlikely case
that someone still needs them, they can use the net/bsdrcmds port to
bring them back.

FreeBSD removed them in October 2017 and I took their work as a guideline.

6 years agolib/libc_rtld: Fix 'make install'.
zrj [Sun, 31 Dec 2017 07:56:17 +0000 (09:56 +0200)]
lib/libc_rtld: Fix 'make install'.

Do not install nls categories and uuid(3) manpages. These are handled by libc.

6 years agoskel: Quote default alias for pager
Eitan Adler [Sun, 31 Dec 2017 07:03:29 +0000 (23:03 -0800)]
skel: Quote default alias for pager

6 years agomt(1): Staticize.
Sascha Wildner [Sun, 31 Dec 2017 03:47:16 +0000 (04:47 +0100)]
mt(1): Staticize.

6 years agomkstr(1): Staticize.
Sascha Wildner [Sun, 31 Dec 2017 03:40:39 +0000 (04:40 +0100)]
mkstr(1): Staticize.

6 years agom4(1): Add some __printflike.
Sascha Wildner [Sun, 31 Dec 2017 03:30:52 +0000 (04:30 +0100)]
m4(1): Add some __printflike.

6 years agolocate(1): Staticize.
Sascha Wildner [Sun, 31 Dec 2017 03:11:16 +0000 (04:11 +0100)]
locate(1): Staticize.

6 years agolocaledef(1): Add some __printflike.
Sascha Wildner [Sun, 31 Dec 2017 03:00:29 +0000 (04:00 +0100)]
localedef(1): Add some __printflike.

6 years agolocale(1): Staticize and remove an unused variable.
Sascha Wildner [Sun, 31 Dec 2017 02:34:15 +0000 (03:34 +0100)]
locale(1): Staticize and remove an unused variable.

6 years agoleave(1): Staticize.
Sascha Wildner [Sun, 31 Dec 2017 02:30:05 +0000 (03:30 +0100)]
leave(1): Staticize.

6 years agogencat(1): Staticize and remove a wrong prototype.
Sascha Wildner [Sun, 31 Dec 2017 02:25:19 +0000 (03:25 +0100)]
gencat(1): Staticize and remove a wrong prototype.

6 years agolibc: Remove 'table' argument from call to collate_range_cmp() in __sccl().
zrj [Thu, 28 Dec 2017 12:30:07 +0000 (14:30 +0200)]
libc: Remove 'table' argument from call to collate_range_cmp() in __sccl().

This prevents segfaults when called with say incomplete locale.
Introduce a separate wide variant of __wcollate_range_cmp() and use proper
variant were needed. The __sccl() does not use wchar_t types.
Also use '\0' instead of plain 0.

Similar change was done in FreeBSD.

6 years agolibc/locale: Fix leading space issue in wcstof().
zrj [Thu, 28 Dec 2017 11:34:53 +0000 (13:34 +0200)]
libc/locale: Fix leading space issue in wcstof().

On failure correctly set endptr to report failure.
It was reported by libc++ testsuite.

Taken-from: FreeBSD

6 years agonewlocale(3): Add support for native complex locale.
zrj [Sat, 30 Dec 2017 18:32:25 +0000 (20:32 +0200)]
newlocale(3): Add support for native complex locale.

Now newlocale(LC_ALL_MASK, setlocale(LC_ALL, NULL), NULL) should work
as intended even with combinations like LC_CTYPE=lv_LT LC_TIME=lt_LT.

While there, add compat support in setlocale(3) and fix a wrong git am
in previous newlocale(3) commit.

6 years agobsd-family-tree: Update to latest
Eitan Adler [Fri, 29 Dec 2017 23:14:52 +0000 (15:14 -0800)]
bsd-family-tree: Update to latest

- add NetBSD 6.06, 7.1.1
- add HardenedBSD 10, 11
- correct 'NDB' to 'NBD'

Obtained-from:   FreeBSD

6 years agoshutdown(8): Fix building with -DDEBUG.
Sascha Wildner [Fri, 29 Dec 2017 19:24:10 +0000 (20:24 +0100)]
shutdown(8): Fix building with -DDEBUG.

6 years agocsplit(1): Staticize.
Sascha Wildner [Fri, 29 Dec 2017 19:20:51 +0000 (20:20 +0100)]
csplit(1): Staticize.

6 years agonewlocale(3): Add compat support for c++ runtime libs.
zrj [Fri, 29 Dec 2017 13:51:32 +0000 (15:51 +0200)]
newlocale(3): Add compat support for c++ runtime libs.

Implement simple 'private' env support that mimics the internal
__get_locale_env(). Not to be used in a context of C.

While there, fix off by one in array index (_LC_LAST vs XLC_LAST).

6 years agolibc/locale: Prevent bad builds on partial XLC_ enum changes.
zrj [Thu, 28 Dec 2017 11:05:18 +0000 (13:05 +0200)]
libc/locale: Prevent bad builds on partial XLC_ enum changes.

Add static asserts and document them.

Taken-from: FreeBSD

6 years agombtowc(3): Set EILSEQ on incomplete character case.
zrj [Thu, 28 Dec 2017 11:01:36 +0000 (13:01 +0200)]
mbtowc(3): Set EILSEQ on incomplete character case.

There are several cases where EILSEQ is already handled, yet not handled
in other cases. Make it consistent.

In-discussion-with: swildner
Taken-from: OpenBSD

6 years agolibc/locale: Misc cleanup.
zrj [Fri, 29 Dec 2017 13:37:16 +0000 (15:37 +0200)]
libc/locale: Misc cleanup.

Mostly whitespace, use NULL and fix typo.

6 years agocrunchgen(1)/crunchide(1): Staticize.
Sascha Wildner [Fri, 29 Dec 2017 12:08:30 +0000 (13:08 +0100)]
crunchgen(1)/crunchide(1): Staticize.

6 years agocompress(1): Staticize.
Sascha Wildner [Fri, 29 Dec 2017 11:51:09 +0000 (12:51 +0100)]
compress(1): Staticize.

6 years agochat(8): Staticize.
Sascha Wildner [Fri, 29 Dec 2017 11:44:09 +0000 (12:44 +0100)]
chat(8): Staticize.

6 years agocap_mkdb(1): Staticize and remove an unused variable.
Sascha Wildner [Fri, 29 Dec 2017 11:32:49 +0000 (12:32 +0100)]
cap_mkdb(1): Staticize and remove an unused variable.

6 years agoc99(1): Staticize.
Sascha Wildner [Fri, 29 Dec 2017 11:28:03 +0000 (12:28 +0100)]
c99(1): Staticize.

6 years agobtpin(1): Staticize.
Sascha Wildner [Fri, 29 Dec 2017 11:25:16 +0000 (12:25 +0100)]
btpin(1): Staticize.

6 years agobasename(1): Staticize.
Sascha Wildner [Fri, 29 Dec 2017 11:21:26 +0000 (12:21 +0100)]
basename(1): Staticize.

6 years agoAdd __attribute__((__noreturn__)) to various function prototypes in games/.
Sascha Wildner [Thu, 28 Dec 2017 21:57:41 +0000 (22:57 +0100)]
Add __attribute__((__noreturn__)) to various function prototypes in games/.

This general cleanup is useful in various ways. It helps the compiler
optimize better and it also helps later GCCs detect better when to give
-Wimplicit-fallthrough warnings and when not.

Found-with: -Wsuggest-attribute=noreturn

6 years agowump(6): Staticize.
Sascha Wildner [Thu, 28 Dec 2017 21:50:37 +0000 (22:50 +0100)]
wump(6): Staticize.

6 years agoworms(6): Staticize.
Sascha Wildner [Thu, 28 Dec 2017 21:42:34 +0000 (22:42 +0100)]
worms(6): Staticize.

6 years agoworm(6): Staticize and remove some "return" (crash() never returns).
Sascha Wildner [Thu, 28 Dec 2017 21:36:51 +0000 (22:36 +0100)]
worm(6): Staticize and remove some "return" (crash() never returns).

6 years agosail(6): pl_main() never returns, so don't pretend it does.
Sascha Wildner [Thu, 28 Dec 2017 20:53:47 +0000 (21:53 +0100)]
sail(6): pl_main() never returns, so don't pretend it does.

6 years agopig(6): Staticize.
Sascha Wildner [Thu, 28 Dec 2017 20:34:42 +0000 (21:34 +0100)]
pig(6): Staticize.

6 years agonumber(6): Staticize and remove a wrong prototype.
Sascha Wildner [Thu, 28 Dec 2017 20:24:57 +0000 (21:24 +0100)]
number(6): Staticize and remove a wrong prototype.

6 years agohangman(6): Move __dead2 to the prototype.
Sascha Wildner [Thu, 28 Dec 2017 20:09:26 +0000 (21:09 +0100)]
hangman(6): Move __dead2 to the prototype.

6 years agoarithmetic(6): Staticize.
Sascha Wildner [Thu, 28 Dec 2017 19:40:08 +0000 (20:40 +0100)]
arithmetic(6): Staticize.

6 years agoiso639: Add Montenegrin.
Sascha Wildner [Thu, 28 Dec 2017 09:54:35 +0000 (10:54 +0100)]
iso639: Add Montenegrin.

See http://www.loc.gov/standards/iso639-2/php/code_changes.php

6 years agoUpdate the pciconf(8) database.
Eitan Adler [Thu, 28 Dec 2017 08:19:34 +0000 (00:19 -0800)]
Update the pciconf(8) database.

2017-12-20 snapshot from https://pci-ids.ucw.cz/v2.2/pci.ids

6 years agolibc/nmalloc: Handle size_t overflows in malloc().
zrj [Wed, 27 Dec 2017 16:10:40 +0000 (18:10 +0200)]
libc/nmalloc: Handle size_t overflows in malloc().

Similar to e9586122ca8be1e743aa9cd2f9622dfe2f434ece.

6 years agokerne: Move vfs.pbuf_{kva,mem,raw}_count sysctls to vm node.
zrj [Wed, 27 Dec 2017 06:31:35 +0000 (08:31 +0200)]
kerne: Move vfs.pbuf_{kva,mem,raw}_count sysctls to vm node.

The vm.pbud_kva_count, vm.pbud_mem_count and vm.pbud_raw_count
matches other sysctls in sys/vm/.
No userland usage was detected in base and dports.

6 years agoFix several speelling errors
Eitan Adler [Wed, 27 Dec 2017 13:07:25 +0000 (05:07 -0800)]
Fix several speelling errors

Reviewed by: swildner, zrj

6 years agokernel: Remove 3 no longer used sysctls in vfs_bio.c
zrj [Wed, 27 Dec 2017 06:28:33 +0000 (08:28 +0200)]
kernel: Remove 3 no longer used sysctls in vfs_bio.c

6 years agopasswd.1/security.7: Some kerberos removal cleanup.
Sascha Wildner [Tue, 26 Dec 2017 13:04:58 +0000 (14:04 +0100)]
passwd.1/security.7: Some kerberos removal cleanup.

6 years agosocket: Use fast close if SO_LINGER and linger==0.
Sepherosa Ziehau [Tue, 26 Dec 2017 04:28:39 +0000 (12:28 +0800)]
socket: Use fast close if SO_LINGER and linger==0.

It is widely used to reset TCP connection by userland application.

6 years agoMakefile.inc1: Adjust an obsolete comment and fix trailing whitespace.
Sascha Wildner [Tue, 26 Dec 2017 12:15:19 +0000 (13:15 +0100)]
Makefile.inc1: Adjust an obsolete comment and fix trailing whitespace.

Submitted-by: zrj
6 years agols(1): Add -_ option to include nanotime in ls -l.
zrj [Tue, 26 Dec 2017 09:23:49 +0000 (11:23 +0200)]
ls(1): Add -_ option to include nanotime in ls -l.

Very useful when debugging Makefile races in rules with
vfs.timestamp_precision=1 set.
Yes, ls -l_ seems strage, but we are running out of letters and
FreeBSD already has the "-," flag in their ls(1).

6 years agols(1): Add -D option to set date-time format in ls -l.
zrj [Tue, 26 Dec 2017 09:22:04 +0000 (11:22 +0200)]
ls(1): Add -D option to set date-time format in ls -l.

Taken-from: FreeBSD

6 years agols(1): Sort flags by order in usage() and manpage.
zrj [Tue, 26 Dec 2017 09:18:49 +0000 (11:18 +0200)]
ls(1): Sort flags by order in usage() and manpage.

Add missing 'S' in SYNOPSIS.

While there, move out trailing space separator handling to caller.

6 years agols(1): Minor cleanup.
zrj [Mon, 25 Dec 2017 13:31:29 +0000 (15:31 +0200)]
ls(1): Minor cleanup.

No functional change.

6 years agolibc/stdtime: Use style(9) comments in strftime.c
zrj [Mon, 25 Dec 2017 12:47:52 +0000 (14:47 +0200)]
libc/stdtime: Use style(9) comments in strftime.c

6 years agoCleanup usr.sbin's Makefile a bit.
Sascha Wildner [Mon, 25 Dec 2017 10:35:58 +0000 (11:35 +0100)]
Cleanup usr.sbin's Makefile a bit.