dragonfly.git
5 years agolibc/rpc: Fix some -Wstrict-prototypes warnings.
Sascha Wildner [Thu, 11 Apr 2019 18:03:33 +0000 (20:03 +0200)]
libc/rpc: Fix some -Wstrict-prototypes warnings.

5 years agolibc/db: Remove unnecessary casts too.
Sascha Wildner [Thu, 11 Apr 2019 11:03:08 +0000 (13:03 +0200)]
libc/db: Remove unnecessary casts too.

5 years agoftpd(8): Use libutil's pidfile(3) implementation.
Sascha Wildner [Thu, 11 Apr 2019 10:09:43 +0000 (12:09 +0200)]
ftpd(8): Use libutil's pidfile(3) implementation.

This unbreaks buildworld.

Reported-by: zrj
5 years agolibc/db: Fix -Wcast-function-type.
Sascha Wildner [Thu, 11 Apr 2019 09:25:42 +0000 (11:25 +0200)]
libc/db: Fix -Wcast-function-type.

5 years ago<string.h>: Remove legacy declaration of swab().
zrj [Wed, 10 Apr 2019 10:13:28 +0000 (13:13 +0300)]
<string.h>: Remove legacy declaration of swab().

It has prototype in <unistd.h> like in other BSDs and GNU implementations
as per OpenGroups XSI.

5 years agolibc/string: Add timing_safe functions from OpenBSD.
zrj [Tue, 9 Apr 2019 09:17:34 +0000 (12:17 +0300)]
libc/string: Add timing_safe functions from OpenBSD.

Good and small functions for crypto retlated things.
Add manpage and set __pure attributes.

Taken-from: OpenBSD

5 years agolibc/stdlib: Add recallocarray() function.
zrj [Tue, 9 Apr 2019 08:39:05 +0000 (11:39 +0300)]
libc/stdlib: Add recallocarray() function.

It is useful function for security related features, like resizing
memory objects containing sensitive data to avoid information leaking.
Update manpage.

Taken-from: OpenBSD

5 years agolibc/stdlib: Add freezero() function.
zrj [Tue, 9 Apr 2019 08:26:46 +0000 (11:26 +0300)]
libc/stdlib: Add freezero() function.

It is useful function for security related features. Internally uses
explicit_bzero(3) before freeing the pointers. It could be implemented
in nmalloc.c for extra benefits.
Update the manpage.

Taken-from: OpenBSD

5 years agolibc/string: Add explicit_bzero() from OpenBSD.
zrj [Tue, 9 Apr 2019 07:29:03 +0000 (10:29 +0300)]
libc/string: Add explicit_bzero() from OpenBSD.

It is useful function for security related features. It allows to
further manipulate discarded memory region through weak hook.
Update the bzero.3 manpage.

Taken-from: OpenBSD

5 years agolibc/tre: Fix -Wpointer-arith.
Sascha Wildner [Thu, 11 Apr 2019 06:37:39 +0000 (08:37 +0200)]
libc/tre: Fix -Wpointer-arith.

5 years agonscd(8): Remove local pidfile(3) implementation and use libutil's.
Sascha Wildner [Thu, 11 Apr 2019 07:21:07 +0000 (09:21 +0200)]
nscd(8): Remove local pidfile(3) implementation and use libutil's.

5 years agolibc/rpc: Fix some -Wmissing-prototypes.
Sascha Wildner [Wed, 10 Apr 2019 18:31:26 +0000 (20:31 +0200)]
libc/rpc: Fix some -Wmissing-prototypes.

5 years agolibc/locale: Fix -Wmissing-field-initializers.
Sascha Wildner [Wed, 10 Apr 2019 18:06:20 +0000 (20:06 +0200)]
libc/locale: Fix -Wmissing-field-initializers.

5 years agolibc: Remove an age old unused function.
Sascha Wildner [Wed, 10 Apr 2019 13:02:37 +0000 (15:02 +0200)]
libc: Remove an age old unused function.

It was labeled as "historic" even in 1994 and probably much earlier
before FreeBSD existed. Nothing in dports uses it and it was also
not added to Symbol.map so nothing could exist that uses it and is
dynamically linked against our libc.

In-discussion-with: zrj

5 years agolibc: Revert last commit partially. Make function public instead.
Sascha Wildner [Wed, 10 Apr 2019 08:58:00 +0000 (10:58 +0200)]
libc: Revert last commit partially. Make function public instead.

5 years agolibc/net: Align rthdr.c with <netinet6/in6.h> (#if 0 a function).
Sascha Wildner [Wed, 10 Apr 2019 08:48:46 +0000 (10:48 +0200)]
libc/net: Align rthdr.c with <netinet6/in6.h> (#if 0 a function).

Fixes a -Wmissing-prototype.

While here, fix typos in comments.

5 years agolibc: Fix some more -Wmissing-prototype.
Sascha Wildner [Tue, 9 Apr 2019 20:18:46 +0000 (22:18 +0200)]
libc: Fix some more -Wmissing-prototype.

5 years agolibc/glob: Fix a -Wstrict-prototypes warning by bringing back an old fix.
Sascha Wildner [Tue, 9 Apr 2019 18:51:24 +0000 (20:51 +0200)]
libc/glob: Fix a -Wstrict-prototypes warning by bringing back an old fix.

It went like this:

* In 2005, joerg fixed this warning in DragonFly (2a6aec8dab58c89961).

* In 2013, this fix was overwritten without looking with the then still
  broken version from FreeBSD (0d5acd7467c4e95f79).

* In 2015, joerg submitted the fix to FreeBSD and it was committed as
  r288098.

This commit applies back FreeBSD's r288098 to our tree. :)

5 years agoPRIV: Add global PRIVATELIB_CFLAGS.
zrj [Mon, 8 Apr 2019 22:21:33 +0000 (01:21 +0300)]
PRIV: Add global PRIVATELIB_CFLAGS.

In preparations for next updates.

5 years agosbin/hammer: Prefer to use installed private LibreSSL headers.
zrj [Mon, 8 Apr 2019 22:19:54 +0000 (01:19 +0300)]
sbin/hammer: Prefer to use installed private LibreSSL headers.

Requested-by: swildner
5 years agocrunchgen(1): Disable LTO for main() stubs.
zrj [Mon, 8 Apr 2019 19:11:31 +0000 (22:11 +0300)]
crunchgen(1): Disable LTO for main() stubs.

5 years agotcpdump(1): Match struct hnamemem types.
zrj [Mon, 8 Apr 2019 16:01:15 +0000 (19:01 +0300)]
tcpdump(1): Match struct hnamemem types.

They were different between print-atalk.c and addrtoname.c sources.

Caught-by: LTO
5 years agocrontab(1): Fix -flto warnings.
zrj [Mon, 8 Apr 2019 15:39:49 +0000 (18:39 +0300)]
crontab(1): Fix -flto warnings.

The crontab is compiled without -DLOGIN_CAP that in turn was excluding
a field in "struct _entry { ... } entry;" in cron.h header.
Make sure the struct size stays consistent.

Caught-by: LTO
5 years agocrontab(1): Constify few things.
zrj [Mon, 8 Apr 2019 15:33:30 +0000 (18:33 +0300)]
crontab(1): Constify few things.

5 years agosbin/hammer: Fix used include.
zrj [Mon, 8 Apr 2019 13:22:47 +0000 (16:22 +0300)]
sbin/hammer: Fix used include.

It should be <sha.h> for SHA256_Init() and rest.
For now the same as sbin/md5.

Caught-by: -flto
5 years agortquery(8): Fix MD5 prototypes.
zrj [Mon, 8 Apr 2019 11:16:07 +0000 (14:16 +0300)]
rtquery(8): Fix MD5 prototypes.

Do not use local MD5 prototypes.
The libcrypto is not needed, rtquery(8) is static.

Caught-by: LTO
5 years agorouted(8): Fix MD5 prototypes.
zrj [Mon, 8 Apr 2019 11:11:07 +0000 (14:11 +0300)]
routed(8): Fix MD5 prototypes.

Do not use local MD5 prototypes.
The libcrypto is not needed, routed(8) is static.

Caught-by: LTO
5 years agosys/boot/pc32: Fix -flto warnings in pxe.c
zrj [Mon, 8 Apr 2019 11:02:18 +0000 (14:02 +0300)]
sys/boot/pc32: Fix -flto warnings in pxe.c

Provide full structure. Avoids -flto warning:
note: code may be misoptimized unless -fno-strict-aliasing is used

5 years agolibstand: Adjust zlib hadling.
zrj [Mon, 8 Apr 2019 10:22:53 +0000 (13:22 +0300)]
libstand: Adjust zlib hadling.

Avoid crc32.c search issue in .PATH, move Makefile.stand inclusion
before sys/libkern. Add comments why.

5 years agolibstand/gzipfs: Minor trailing whitespace cleanup.
zrj [Mon, 8 Apr 2019 09:45:24 +0000 (12:45 +0300)]
libstand/gzipfs: Minor trailing whitespace cleanup.

5 years agolib/libstand: Remove zipfs.c
zrj [Mon, 8 Apr 2019 09:39:03 +0000 (12:39 +0300)]
lib/libstand: Remove zipfs.c

It is unused duplicate of gzipfs.c
Adjust the libstand manpage.

5 years agotelnetd(8): Rename fatal function.
zrj [Mon, 8 Apr 2019 09:01:52 +0000 (12:01 +0300)]
telnetd(8): Rename fatal function.

Avoids symbol conflict with OpenSSH fatal().

5 years agolibkvm: Fix -flto warnings.
zrj [Mon, 8 Apr 2019 07:54:00 +0000 (10:54 +0300)]
libkvm: Fix -flto warnings.

Suggested-by: dillon
5 years agovmstat(8): Minor trailing whitespace cleanup.
zrj [Mon, 8 Apr 2019 07:45:30 +0000 (10:45 +0300)]
vmstat(8): Minor trailing whitespace cleanup.

5 years agolibkvm: Minor trailing whitespace cleanup.
zrj [Mon, 8 Apr 2019 07:41:31 +0000 (10:41 +0300)]
libkvm: Minor trailing whitespace cleanup.

5 years agolibc: Add prototypes for various functions we use in __weak_reference().
Sascha Wildner [Mon, 8 Apr 2019 17:14:52 +0000 (19:14 +0200)]
libc: Add prototypes for various functions we use in __weak_reference().

5 years agolibc/stdlib: Fix two -Wunused-parameter warnings.
Sascha Wildner [Mon, 8 Apr 2019 16:22:03 +0000 (18:22 +0200)]
libc/stdlib: Fix two -Wunused-parameter warnings.

5 years agofstat(1): Mangle dev2udev() name.
zrj [Sat, 6 Apr 2019 20:04:59 +0000 (23:04 +0300)]
fstat(1): Mangle dev2udev() name.

Avoid symbol conflicts with libkvm internal one.

5 years agofstat(1): Move out vm_map traversal functions to libkvm.
zrj [Sat, 6 Apr 2019 20:00:10 +0000 (23:00 +0300)]
fstat(1): Move out vm_map traversal functions to libkvm.

For ports benefit.

Suggested-by: dillon
5 years agolibkvm: Raise WARNS.
zrj [Sat, 6 Apr 2019 18:28:10 +0000 (21:28 +0300)]
libkvm: Raise WARNS.

5 years agolibkvm: Suppress last -Wsign-compare warnings.
zrj [Sat, 6 Apr 2019 18:26:48 +0000 (21:26 +0300)]
libkvm: Suppress last -Wsign-compare warnings.

5 years agolibkvm: Remove not needed casts in vsnprintf() calls.
zrj [Sat, 6 Apr 2019 17:56:47 +0000 (20:56 +0300)]
libkvm: Remove not needed casts in vsnprintf() calls.

Caught by -Wcast-qual.

5 years agolibkvm: Move kvm_notrans() to kvm.c
zrj [Sat, 6 Apr 2019 17:52:33 +0000 (20:52 +0300)]
libkvm: Move kvm_notrans() to kvm.c

Only used in kvm.c and avoids -Winline warnings.

5 years agolibkvm: Silence -Wtype-limits warning.
zrj [Sat, 6 Apr 2019 17:41:30 +0000 (20:41 +0300)]
libkvm: Silence -Wtype-limits warning.

The VM_MIN_USER_ADDRESS is currently defined as 0. Prevent "< 0" warning
by using intermediate variable.

5 years agolibkvm: Silence -Wmissing-field-initializers warnings.
zrj [Sat, 6 Apr 2019 17:21:24 +0000 (20:21 +0300)]
libkvm: Silence -Wmissing-field-initializers warnings.

Use designated initializers.

5 years agolibkvm: Fix -Wunused-parameter warnings.
zrj [Sat, 6 Apr 2019 17:11:12 +0000 (20:11 +0300)]
libkvm: Fix -Wunused-parameter warnings.

Remove unused arguments for local functions.
Add __unused attributes for public ones.

5 years agolibkvm: Fix -Wshadow warnings for gcc47.
zrj [Sat, 6 Apr 2019 17:10:01 +0000 (20:10 +0300)]
libkvm: Fix -Wshadow warnings for gcc47.

5 years agolibkvm: Fix -Wshadow warnings.
zrj [Sat, 6 Apr 2019 16:53:27 +0000 (19:53 +0300)]
libkvm: Fix -Wshadow warnings.

Move variable declarations to top.

5 years agolibkvm: Sort items in <kvm.h>
zrj [Sat, 6 Apr 2019 16:30:01 +0000 (19:30 +0300)]
libkvm: Sort items in <kvm.h>

5 years agolibkvm: Always use local kvm.h header.
zrj [Sat, 6 Apr 2019 16:26:10 +0000 (19:26 +0300)]
libkvm: Always use local kvm.h header.

5 years agolibkvm: Cleanup kvm_util.c
zrj [Sat, 6 Apr 2019 15:39:18 +0000 (18:39 +0300)]
libkvm: Cleanup kvm_util.c

Remove not needed includes and add <kvm.h> for missing prototype.

No functional change.

5 years agolibkvm: Add missing prototype for dev2udev().
zrj [Sat, 6 Apr 2019 15:35:50 +0000 (18:35 +0300)]
libkvm: Add missing prototype for dev2udev().

It is used by sys/kern/kern_kinfo.c (compiled as part of libkvm).
It would be good to mark this function as hidden.

5 years agolibkvm: Add include guards for kvm_private.h
zrj [Sat, 6 Apr 2019 15:34:19 +0000 (18:34 +0300)]
libkvm: Add include guards for kvm_private.h

5 years agoKernel: Minor whitespace cleanup in kern_kinfo.c.
zrj [Sat, 6 Apr 2019 15:30:41 +0000 (18:30 +0300)]
Kernel: Minor whitespace cleanup in kern_kinfo.c.

5 years agolibc/dmalloc: Adjust for aligned_alloc() changes.
zrj [Sat, 6 Apr 2019 10:49:13 +0000 (13:49 +0300)]
libc/dmalloc: Adjust for aligned_alloc() changes.

Follow up for d3a54aee8be483132cb76ecb195180d8c3cf9ed4.

5 years agolibc/dmalloc: Fix unused warning for non INVARIANTS.
zrj [Sat, 6 Apr 2019 10:14:49 +0000 (13:14 +0300)]
libc/dmalloc: Fix unused warning for non INVARIANTS.

5 years agolibc/stdlib: Refactor aligned_alloc().
zrj [Wed, 3 Apr 2019 13:26:44 +0000 (16:26 +0300)]
libc/stdlib: Refactor aligned_alloc().

  * Lift the restriction from posix_memalign() that alignment should be
    more or equal to sizeof(void *).
  * Make aligned_alloc() a weak symbol.
  * Adjust the manpage.

5 years agoAdd <alloca.h> header.
zrj [Mon, 1 Apr 2019 17:50:01 +0000 (20:50 +0300)]
Add <alloca.h> header.

There are quite a few ports that often assume <alloca.h> availability.
This addition should ease up porting efforts. It is reasonable to try
including different header than <stdlib.h> for alloca() definition:
 * alloca() is not implemented in libc (it is implemented by compiler);
 * <stdlib.h> will not provide alloca() macro for !__BSD_VISIBLE case;
 * including <stdlib.h> might bring in additional unwanted namespace
   pollution when implementing certain low-level features.

5 years agolibc/stdlib: Add __cxa_thread_atexit_impl() hook.
zrj [Mon, 1 Apr 2019 17:16:47 +0000 (20:16 +0300)]
libc/stdlib: Add __cxa_thread_atexit_impl() hook.

The __cxa_thread_atexit_impl() helper is needed for mainly c++ runtime
libraries to support destructors for thread local storage using LIFO.
The _thread_finalize() is implemented based on OpenBSD variant with few
exceptions: less restrictive destructors calling scheme and c++ runtime
preserves implementation details how it orders (or even uses) this libc
addition. Based on other BSDs and libsdc++/libc++ code this is least
intrusive method to have pthread_exit() hooks in libc runtime. By the
looks, in base system nothing was using libstdc++ internal version.

While there, enable __cxa_thread_atexit_impl() usage in gcc80 libstdc++.

5 years agolibc/stdlib: Avoid calling destructors in a wrong order.
zrj [Mon, 1 Apr 2019 11:20:40 +0000 (14:20 +0300)]
libc/stdlib: Avoid calling destructors in a wrong order.

There is a possibility that dso handle in __cxa_finalize() might be owned
by another dso. On exit(3) calling these destructors is pointless.

5 years agolibc: Fix some -Wunused-parameter warnings.
Sascha Wildner [Sun, 7 Apr 2019 18:42:57 +0000 (20:42 +0200)]
libc: Fix some -Wunused-parameter warnings.

5 years agolibc/libpthread: Add guard to fix redundant __isthreaded declarations.
Sascha Wildner [Sun, 7 Apr 2019 16:34:48 +0000 (18:34 +0200)]
libc/libpthread: Add guard to fix redundant __isthreaded declarations.

5 years agolibc/stdio: Remove two redundant prototypes.
Sascha Wildner [Sun, 7 Apr 2019 16:33:25 +0000 (18:33 +0200)]
libc/stdio: Remove two redundant prototypes.

5 years agolibc/net: Remove some unneeded externs.
Sascha Wildner [Sun, 7 Apr 2019 15:33:54 +0000 (17:33 +0200)]
libc/net: Remove some unneeded externs.

Prototypes are in netdb_private.h.

I had forgotten this in a1ff66cb7764cf805b759f2c7bfc51a8a11cf1aa.

Fixes some -Wredundant-decls warnings.

5 years agolibc/db: Add an include guard.
Sascha Wildner [Sun, 7 Apr 2019 15:46:06 +0000 (17:46 +0200)]
libc/db: Add an include guard.

joerg had added one back in 2005 in 871020e7804af32d9a544b48cd250fa4
but it was overwritten 8 years later in another sync with FreeBSD in
abd448c3b2d3508465e48d9cfdb163ef88fc242e.

This fixes a number of -Wredundant-decls which we'll hopefully enable
by default in the future.

5 years agolibmd: Remove sha384 traces.
Sascha Wildner [Sun, 7 Apr 2019 10:42:48 +0000 (12:42 +0200)]
libmd: Remove sha384 traces.

5 years ago<sys/ttydefaults.h>: Constify ttydefchars[], make size implicit and assert.
Sascha Wildner [Sun, 7 Apr 2019 09:54:49 +0000 (11:54 +0200)]
<sys/ttydefaults.h>: Constify ttydefchars[], make size implicit and assert.

While here, fix some whitespace too.

Mostly-taken-from: FreeBSD

5 years agostr{,case}cmp.3: Remove further bcmp(3) references.
Sascha Wildner [Sun, 7 Apr 2019 09:36:02 +0000 (11:36 +0200)]
str{,case}cmp.3: Remove further bcmp(3) references.

5 years ago<termios.h>: Cleanup #include, fix whitespace.
Sascha Wildner [Sun, 7 Apr 2019 09:05:57 +0000 (11:05 +0200)]
<termios.h>: Cleanup #include, fix whitespace.

5 years agomemcmp.3: Remove bcmp(3) reference.
Sascha Wildner [Sun, 7 Apr 2019 08:21:28 +0000 (10:21 +0200)]
memcmp.3: Remove bcmp(3) reference.

5 years agolibc: Merge bcmp.3 and memcmp.3.
Sascha Wildner [Sun, 7 Apr 2019 06:57:55 +0000 (08:57 +0200)]
libc: Merge bcmp.3 and memcmp.3.

This follows the merge in the code in 83d15e579c5b3b6ab775b345f1d68069.

5 years agoSync ACPICA with Intel's version 20190405.
Sascha Wildner [Sat, 6 Apr 2019 11:46:51 +0000 (13:46 +0200)]
Sync ACPICA with Intel's version 20190405.

* Fix some issues when resuming from suspend. Likely doesn't affect
  DragonFly.

* iasl(8): Support compiling multiple files to a single namespace.

For detailed list, please see sys/contrib/dev/acpica/changes.txt.

5 years agosys/vfs/fuse: Fix confusing vop_write_dirent() retval test
Tomohiro Kusumi [Fri, 5 Apr 2019 20:59:45 +0000 (05:59 +0900)]
sys/vfs/fuse: Fix confusing vop_write_dirent() retval test

vop_write_dirent() has confusing return value (bug).

When vop_write_dirent() returns non zero, *error is unchanged.
OTOH when vop_write_dirent() returns zero, *error may be non zero.

5 years agosys/vfs/autofs: Use VFS_STATFS()
Tomohiro Kusumi [Fri, 5 Apr 2019 20:52:35 +0000 (05:52 +0900)]
sys/vfs/autofs: Use VFS_STATFS()

5 years ago<unistd.h>: Update one more comment.
Sascha Wildner [Fri, 5 Apr 2019 22:16:29 +0000 (00:16 +0200)]
<unistd.h>: Update one more comment.

5 years ago<unistd.h>/<sys/unistd.h>: Update comments.
Sascha Wildner [Fri, 5 Apr 2019 22:08:40 +0000 (00:08 +0200)]
<unistd.h>/<sys/unistd.h>: Update comments.

5 years agosys/vfs/fuse: Mark /dev/autofs with D_MPSAFE
Tomohiro Kusumi [Fri, 5 Apr 2019 19:15:20 +0000 (04:15 +0900)]
sys/vfs/fuse: Mark /dev/autofs with D_MPSAFE

/dev/autofs was left without mpsafe flag.

5 years agosys/vfs/fuse: Add a comment
Tomohiro Kusumi [Thu, 4 Apr 2019 17:40:49 +0000 (02:40 +0900)]
sys/vfs/fuse: Add a comment

5 years agokernel - quiet repeated DA/CD probes for removable devices
Matthew Dillon [Fri, 5 Apr 2019 06:46:26 +0000 (23:46 -0700)]
kernel - quiet repeated DA/CD probes for removable devices

* Don't print errors when repeated probes for cards in sdcard
  readers fail, beyond the first instance.

* Fixes console spam when usb card readers are plugged in.

5 years agoRemove timezone typo via 'make upgrade'.
Sascha Wildner [Thu, 4 Apr 2019 06:22:47 +0000 (08:22 +0200)]
Remove timezone typo via 'make upgrade'.

5 years agosys/vfs/fuse: Drop PCATCH from tsleep on waiting IPC completion
Tomohiro Kusumi [Tue, 2 Apr 2019 15:30:11 +0000 (00:30 +0900)]
sys/vfs/fuse: Drop PCATCH from tsleep on waiting IPC completion

Even with kern_sigprocmask(SIG_BLOCK) called prior to tsleep(9),
tsleep with PCATCH flag can still catch a signal (e.g. SIGINT) and
return 0 (not EINTR).

This is due to tsleep(9) setting "lp->lwp_flags |= LWP_SINTR;" before
going into sleep when PCATCH is specified.

When this happens, KKASSERT() after tsleep(9) can be false, so just
drop PCATCH.

5 years agokernel - Add AC256 (sound) quirk
Matthew Dillon [Tue, 2 Apr 2019 23:00:06 +0000 (16:00 -0700)]
kernel - Add AC256 (sound) quirk

* Add quirk for AC256 sound devices.

Taken-from: FreeBSD
Tested-by: drill-use@irc
5 years agoSync ACPICA with Intel's version 20190329.
Sascha Wildner [Tue, 2 Apr 2019 16:31:40 +0000 (18:31 +0200)]
Sync ACPICA with Intel's version 20190329.

* Improve namespace support: Remove address nodes from global list
  after method termination to properly remove Operation Region nodes
  that are declared dynamically.

* Some improvements in iasl(8) and acpiexec(8).

For detailed list, please see sys/contrib/dev/acpica/changes.txt.

Thanks to zrj for testing.

5 years agoSync zoneinfo database with tzdata2019a from ftp://ftp.iana.org/tz/releases
Sascha Wildner [Tue, 2 Apr 2019 16:11:55 +0000 (18:11 +0200)]
Sync zoneinfo database with tzdata2019a from ftp://ftp.iana.org/tz/releases

* Palestine will not start DST until 2019-03-30, instead of 2019-03-23 as
  previously predicted.

* Metlakatla rejoined Alaska Time (from previously Pacific Standard Time)
  on 2019-01-20.

* Affecting older timestamps only: Israel observed DST in 1980 and 1984.

For a detailed list of changes, see share/zoneinfo/NEWS.

5 years agosys/vfs: Remove .vop_mmap implementations
Tomohiro Kusumi [Mon, 1 Apr 2019 17:40:27 +0000 (02:40 +0900)]
sys/vfs: Remove .vop_mmap implementations

These either return EINVAL or panic.
VOP_MMAP() is unused in the first place.

(FreeBSD got rid of VOP_MMAP() entirely in 2000.)
--
commit 1afa7eea2714a80f7f460a084f2dd793df48a236
Author: eivind <eivind@FreeBSD.org>
Date:   Wed Nov 1 17:57:24 2000 +0000

    Give vop_mmap an untimely death.  The opportunity to give it a timely
    death timed out in 1996.

5 years agosys/vfs/fuse: Add fuse_vop_{get,put}pages()
Tomohiro Kusumi [Mon, 1 Apr 2019 17:31:59 +0000 (02:31 +0900)]
sys/vfs/fuse: Add fuse_vop_{get,put}pages()

No functional changes (yet).

5 years agosys/vfs/fuse: Add assertions
Tomohiro Kusumi [Mon, 1 Apr 2019 17:25:07 +0000 (02:25 +0900)]
sys/vfs/fuse: Add assertions

5 years agosys/vfs/fuse: Cleanup (use TAILQ_FOREACH())
Tomohiro Kusumi [Mon, 1 Apr 2019 15:25:36 +0000 (00:25 +0900)]
sys/vfs/fuse: Cleanup (use TAILQ_FOREACH())

Didn't need to use safe version.

5 years agolapic: Don't do AMD C1E fixup on virtual machines by default.
Sepherosa Ziehau [Mon, 1 Apr 2019 12:29:39 +0000 (20:29 +0800)]
lapic: Don't do AMD C1E fixup on virtual machines by default.

Host should already have fixed it up.

This is a follow-up fix for:
cb46bbd1802f449d255ccfb68937b5f3f2284584

5 years agorc.d/sysctl: Use buffer to print out the sysctl changes.
zrj [Mon, 1 Apr 2019 09:14:02 +0000 (12:14 +0300)]
rc.d/sysctl: Use buffer to print out the sysctl changes.

Fixes output in logs (does not break lines).

5 years agoClean up some gcc50 remains.
Sascha Wildner [Mon, 1 Apr 2019 08:54:47 +0000 (10:54 +0200)]
Clean up some gcc50 remains.

5 years agokernel - Add LAPIC timer C1E test skip for AWS
Matthew Dillon [Sun, 31 Mar 2019 22:35:02 +0000 (15:35 -0700)]
kernel - Add LAPIC timer C1E test skip for AWS

* AWS's new EPYC instances (such as m5ad.large) will general-protect
  fault on the MSR we use to test lapic C1E.  For now introduce a
  tunable that allows this test to be turned off.

* AWS instances should put 'hw.lapic_timer_c1e_test=0' in
  /boot/loader.conf

* Allows DFly to boot on AWS as of ami-027940491fc788325 on us-east
  N. Virginia.

5 years agoMove <sys/termios.h> to <termios.h>.
Sascha Wildner [Sun, 31 Mar 2019 18:37:28 +0000 (20:37 +0200)]
Move <sys/termios.h> to <termios.h>.

CCEQ() is moved to <sys/_termios.h>. The kernel needs nothing else from
it.

The few dports that were including <sys/termios.h> were mostly missing
some kind of "... || defined(__DragonFly__)" to go with FreeBSD's
adjustments.

Thanks to zrj and tuxillo for taking care of dports.

5 years agosys/vfs/fuse: Add initial FUSE support
Tomohiro Kusumi [Sun, 31 Mar 2019 16:30:07 +0000 (01:30 +0900)]
sys/vfs/fuse: Add initial FUSE support

The basic code design comes from FreeBSD, but the code is written
from scratch. It was just easier to write from scratch than trying to
port sys/fs/fuse/* in FreeBSD for various reasons. Note that this is
to implement FUSE API/ABI, but not to be compatible with FreeBSD
implementation which contains FreeBSD specific sysctls, etc.

The initial version doesn't support FUSE_WRITE by disabling
VOP_WRITE() by returning EOPNOTSUPP. It currently works with simple
write(2) calls like dd(1) via direct I/O, but not when syncer thread
or mmap(2) gets involved under non trivial conditions. It looks to
be doable with custom VOP_GETPAGES() and VOP_PUTPAGES(), but if not
then it requires some changes to sys/kern/* and sys/vm/* to properly
support writes.

Besides above, this initial version supports basic FUSE operations
invoked from file related system calls via FUSE VOP's, but not things
like FUSE_IOCTL, FUSE_POLL, FUSE_FALLOCATE, etc. Although dmesg says
FUSE 7.28, don't expect it to support everything 7.28 (or anywhere
close to 7.28) says it has.

FUSE will be dropped from DragonFly releases until it gets stabilized
to certain extent including above, at least for write support.

5 years agosys/kern: Add struct file* arg to VOP_{GETATTR,SETATTR,READ,WRITE,FSYNC,READDIR}
Tomohiro Kusumi [Sun, 31 Mar 2019 16:30:07 +0000 (01:30 +0900)]
sys/kern: Add struct file* arg to VOP_{GETATTR,SETATTR,READ,WRITE,FSYNC,READDIR}

This commit changes VOP interface to support FUSE API/ABI.
It just adds an additional struct file* argument to VOP's, so that
FUSE VOP's can access *fp pointer (currently accessible only from
caller of VOP's if any, with exception of VOP_OPEN(), VOP_CLOSE(),
etc) and make use of its ->private_data pointer.

FUSE API/ABI requires FUSE to maintain a per file (usually per file
descriptor) data called fh. The fh is an opaque data whose purpose
may differ among userspace filesystems, but typically used to store
file descriptor value or arbitrary userspace address used by the
userspace filesystem process.

Below diagram illustrates typical flow of maintaining fh. The
userspace filesystem uses fd obtained from opening backing store
(e.g fd for regular file, socket, etc) for fh, as a consequence of
end user's open(2) syscall, and expects FUSE to maintain that value
for future use as an identifier for userspace.

* Notes on Linux VFS I/F vs BSD VFS I/F:
In Linux, supporting the concept of fh is quite straight forward since
Linux kernel has functions vector built around (opened)file including
things like mmap(2) handler, in addition to a vector built around
inode.

But since DragonFly doesn't have a vector built around file (other
than a simple struct fileops, which doesn't meet requirements of fh),
this change was needed for selected VOP's as minimum requirements
for initial FUSE API/ABI support.

--
FUSE user                  FUSE                       FUSE userspace fs
|                          |                          |
|---------open(2)--------->|                          |
| * issue VOP_OPEN         |---------VOP_OPEN-------->|
|                          | * issue FUSE_OPEN        | * open something
|                          |                          | * reply fd as fh
|                          |<--------VOP_OPEN---------|
|<--------open(2)----------| * store fh in fp         |
| * open success           |                          |
|                          |                          |
|...                       |                          |
|...                       |                          |
|                          |                          |
|---------read(2)--------->|                          |
| * issue VOP_READ         |---------VOP_READ-------->|
|                          | * issue FUSE_READ        |
|                          |   with fh from fp        | * read something
|                          |                          |   using fh for fd
|                          |<--------VOP_READ---------|
|<--------read(2)----------| * return read bytes      |
| * uiomove() success      |                          |
|                          |                          |

5 years agokernel: Remove two duplicate #include's.
Sascha Wildner [Sat, 30 Mar 2019 17:51:46 +0000 (18:51 +0100)]
kernel: Remove two duplicate #include's.

5 years agocallout.9: Fix callout_terminate() prototype.
Sascha Wildner [Sat, 30 Mar 2019 16:57:09 +0000 (17:57 +0100)]
callout.9: Fix callout_terminate() prototype.

5 years agokernel - Fix panic in uhci attach error path (2)
Matthew Dillon [Sat, 30 Mar 2019 03:21:39 +0000 (20:21 -0700)]
kernel - Fix panic in uhci attach error path (2)

* Add missing header file for last commit.

5 years agodrm/ttm: Sync with Linux 3.16
François Tigeot [Fri, 29 Mar 2019 21:26:33 +0000 (22:26 +0100)]
drm/ttm: Sync with Linux 3.16

5 years agocallout.9: Remove an unneeded .Pp (before .It). Also bump .Dd.
Sascha Wildner [Fri, 29 Mar 2019 20:51:19 +0000 (21:51 +0100)]
callout.9: Remove an unneeded .Pp (before .It). Also bump .Dd.