dragonfly.git
3 years agolibaura: More tests for dicts, duplicate handling
Antonio Huete Jimenez [Mon, 30 Nov 2020 17:28:17 +0000 (18:28 +0100)]
libaura: More tests for dicts, duplicate handling

3 years agolibaura: Add another test for dicts
Antonio Huete Jimenez [Mon, 30 Nov 2020 14:42:11 +0000 (15:42 +0100)]
libaura: Add another test for dicts

3 years agolibaura: Return NULL in some cases.
Antonio Huete Jimenez [Mon, 30 Nov 2020 09:01:28 +0000 (10:01 +0100)]
libaura: Return NULL in some cases.

  - Fail if there's not enough memory for allocating
    num_buckets or if the method is unknown.
  - Add test.

3 years agolibaura: Staticize non-interface functions
Antonio Huete Jimenez [Sat, 28 Nov 2020 07:37:20 +0000 (08:37 +0100)]
libaura: Staticize non-interface functions

3 years agobce: Use IF_Mbps to avoid float number in kernel.
Sepherosa Ziehau [Mon, 30 Nov 2020 14:36:31 +0000 (22:36 +0800)]
bce: Use IF_Mbps to avoid float number in kernel.

Reported-by: zrj
3 years agore: Sync with Realtek's re-196.04; and fix re_start/re_tx_collect.
Sepherosa Ziehau [Wed, 4 Nov 2020 12:35:53 +0000 (20:35 +0800)]
re: Sync with Realtek's re-196.04; and fix re_start/re_tx_collect.

- Add several new chips' support, noticably RTL8125 support.
- Reorder chip related initializaton on the attach path a bit;
  mainly to make sure ifnet is initialized.
- In re_start(), solely rely on the re_tx_free for the TX descriptor
  setup loop.  This avoids the fixup on the end of the loop.  Add
  assertion that the TX descriptor's corresponding mbuf is not setup
  yet.
- On RTL8125, the EOF in the TX descriptor is no longer left uncleared
  upon TX done, so simply rely on whether the TX descriptor's
  corresponding mbuf is set or not to unload the busdma(9) and free the
  TX mbuf.  We actually should do this instead of rely on the EOF.

Tested-by: me (8101, 8111, 8168, 8125)
    Romick <yellowrabbit2010 gmail.com> (8111)
    Daniel Fojt <df neosystem.org> (8111)

3 years agosys/vfs/hammer2: Make kprintf prefix consistent
Tomohiro Kusumi [Mon, 30 Nov 2020 15:06:34 +0000 (00:06 +0900)]
sys/vfs/hammer2: Make kprintf prefix consistent

3 years agosys/vfs/hammer2: Don't ignore vn_isdisk() result on mount
Tomohiro Kusumi [Mon, 30 Nov 2020 15:07:40 +0000 (00:07 +0900)]
sys/vfs/hammer2: Don't ignore vn_isdisk() result on mount

3 years agonrelease: Define BUILDING_NRELEASE_DPORTS when building packages.
Sascha Wildner [Sun, 29 Nov 2020 09:46:13 +0000 (10:46 +0100)]
nrelease: Define BUILDING_NRELEASE_DPORTS when building packages.

Requested by zrj to allow further optimization at the ports level.

3 years agoUpdate dhcpcd README.DRAGONFLY
Roy Marples [Sat, 28 Nov 2020 14:41:39 +0000 (14:41 +0000)]
Update dhcpcd README.DRAGONFLY

3 years agoMerge branch 'vendor/DHCPCD'
Roy Marples [Sat, 28 Nov 2020 14:38:03 +0000 (14:38 +0000)]
Merge branch 'vendor/DHCPCD'

3 years agoUpdate to dhcpcd-9.3.4 with the following changes:
Roy Marples [Sat, 28 Nov 2020 14:36:33 +0000 (14:36 +0000)]
Update to dhcpcd-9.3.4 with the following changes:

 * DHCP: If error adding the address in oneshot, exit with failure
 * DHCP: Only listen to the address if we successfully added it
 * DHCP6: Fix segfault introduced in dhcpcd-9.3.3
 * DHCP6: Abort in test mode when an error is returned by server
 * options: allow --ia_na=1 and --ia_pd=2 on the command line
 * options: Allow duid to take a value

3 years ago<sys/sysproto.h>: Remove unneeded inclusion of <sys/sysmsg.h>.
Sascha Wildner [Sat, 28 Nov 2020 09:22:49 +0000 (10:22 +0100)]
<sys/sysproto.h>: Remove unneeded inclusion of <sys/sysmsg.h>.

After 80d831e1ad5c5886e45827bf13837cf84baba296, which removed the
struct sysmsg's in the *_args structures, this is no longer needed.

It also resolves circular #include issues because that commit at the
same time added #include <sys/sysproto.h> to <sys/sysmsg.h>.

3 years agosh(1) tests: dfregress support
Antonio Huete Jimenez [Fri, 27 Nov 2020 11:14:53 +0000 (12:14 +0100)]
sh(1) tests: dfregress support

3 years agodfregress: Add 'rc' option
Antonio Huete Jimenez [Fri, 27 Nov 2020 10:52:07 +0000 (11:52 +0100)]
dfregress: Add 'rc' option

  - Allows to specify which return code will be considered success for the
    test case being run. In the example below, a return code of '1' will
    make the test PASS.

    # Testcase            type        Options         Args
    builtins/alias.1      userland    nobuild,rc=1    myarg1 myarg2

3 years agodfregress: Fix mistake in the previous commit
Antonio Huete Jimenez [Fri, 27 Nov 2020 10:09:31 +0000 (11:09 +0100)]
dfregress: Fix mistake in the previous commit

  - We only return NULL on failure when fatal is false.

3 years agodfregress: Add 'interpreter' option
Antonio Huete Jimenez [Thu, 26 Nov 2020 22:40:00 +0000 (23:40 +0100)]
dfregress: Add 'interpreter' option

  - Allows to specify the interpreter that will run the testcase file.
    Some test cases just provide a file without execution permissions or no
    shebang, etc. In some cases it is not desirable to modify the test case
    files (i.e. contrib stuff).

    Taking the example below, the previous behavior was to execvp() the file
    'builtins/alias.0' but with 'interpreter' option, now you can specify
    the shell you want to use to run it.

    # Testcase            type        Options                   Args
    builtins/alias.0      userland    nobuild,interpreter=sh    myarg1 myarg2

3 years agoudp: Port FreeBSD's IPPROTO_IP/IP_SENDSRCADDR.
Sepherosa Ziehau [Thu, 26 Nov 2020 03:22:10 +0000 (11:22 +0800)]
udp: Port FreeBSD's IPPROTO_IP/IP_SENDSRCADDR.

Minor difference:
- Multicast src is not allowed.
- Always allow src, if it is same as inp_laddr and is not multicast.

While I'm here, fix datagram sending for multicast bound and connected
UDP socket.

3 years agotbridge: Add a section 4 man page.
Antonio Huete Jimenez [Wed, 25 Nov 2020 00:16:16 +0000 (01:16 +0100)]
tbridge: Add a section 4 man page.

3 years ago<sys/poll.h>: Expose POLLSTANDARD and INFTIM only in the default env.
Sascha Wildner [Tue, 24 Nov 2020 22:19:09 +0000 (23:19 +0100)]
<sys/poll.h>: Expose POLLSTANDARD and INFTIM only in the default env.

Cleans up the POSIX namespace.

3 years agovkernel - Fix the vkernel build after recent syscall changes (2)
Matthew Dillon [Tue, 24 Nov 2020 21:33:34 +0000 (13:33 -0800)]
vkernel - Fix the vkernel build after recent syscall changes (2)

* Another fix.  Now the vkernel actually works again.

Reported-by: pikrzyszt, tuxillo
3 years agokernel - Fix sys_vmspace_ctl()
Matthew Dillon [Tue, 24 Nov 2020 19:57:20 +0000 (11:57 -0800)]
kernel - Fix sys_vmspace_ctl()

* This system call overwrites the trap-frame.  The new syscall code
  just has the argument pointer (uap) pointing into the trap-frame,
  so in this particular case we have to copy the arguments out before
  overwriting it.

Reported-by: pikrzyszt, tuxillo
3 years agokernel - Fix shared spin-lock starvation bug in VMs
Matthew Dillon [Tue, 24 Nov 2020 19:51:38 +0000 (11:51 -0800)]
kernel - Fix shared spin-lock starvation bug in VMs

* 'indefinite_uses_rdtsc' is set to zero by default when running in
  a virtual machine (and set to 1 on a real machine).  However, this
  disables the windowing code in _spin_lock_shared_contested() and
  causes it to defer to pending execusive lock requests indefinitely
  under heavy-enough loads.

* Add a comment and always use a windowing test w/rdtsc() in
  _spin_lock_shared_contested().

  We were trying to avoid using the rdtsc() in VMs because some of them
  apparently trap the rdtsc instruction.  However, this puts us in a
  no-win situation when it comes to dealing with spin-locks.  So take the
  hit and start using rdtsc again in some situations when operating in
  a VM.

Reported-by: mjg
3 years agoinet: Refactor in_pcbbind() for IP_SENDSRCADDR support.
Sepherosa Ziehau [Tue, 24 Nov 2020 14:50:27 +0000 (22:50 +0800)]
inet: Refactor in_pcbbind() for IP_SENDSRCADDR support.

The newly factored out function will be used to validate address
passed through IP_SENDSRCADDR cmsg.

3 years agotools/udpecho: Add command line option to prevent REUSEPORT.
Sepherosa Ziehau [Tue, 24 Nov 2020 14:49:09 +0000 (22:49 +0800)]
tools/udpecho: Add command line option to prevent REUSEPORT.

3 years agotbridge: Add MODULE_DEPEND to the test module declaration.
Antonio Huete Jimenez [Tue, 24 Nov 2020 11:58:09 +0000 (12:58 +0100)]
tbridge: Add MODULE_DEPEND to the test module declaration.

  - Makes sure you can't unload the tbridge module while
    there are test modules loaded.

3 years agolibc/stdio: Add missing MLINK.
Sascha Wildner [Tue, 24 Nov 2020 09:18:05 +0000 (10:18 +0100)]
libc/stdio: Add missing MLINK.

3 years agoinpcb: Factor out function to obtain lport hash token.
Sepherosa Ziehau [Mon, 23 Nov 2020 15:36:52 +0000 (23:36 +0800)]
inpcb: Factor out function to obtain lport hash token.

3 years agojail: Constify the address to be checked.
Sepherosa Ziehau [Mon, 23 Nov 2020 15:02:13 +0000 (23:02 +0800)]
jail: Constify the address to be checked.

3 years agoPut all definitions of htonl() and friends under _BYTEORDER_FUNC_DEFINED.
Sascha Wildner [Mon, 23 Nov 2020 08:42:35 +0000 (09:42 +0100)]
Put all definitions of htonl() and friends under _BYTEORDER_FUNC_DEFINED.

This is the intended way to properly deal with non-__GNUC__ cases (see
<machine/endian.h>). But it was only done properly in <arpa/inet.h> so
far.

Noticed-by: zrj
3 years agolibc/stdio: Add _unlocked() flavors of fflush, fputc, fputs, fread, fwrite.
Sascha Wildner [Sun, 22 Nov 2020 08:27:36 +0000 (09:27 +0100)]
libc/stdio: Add _unlocked() flavors of fflush, fputc, fputs, fread, fwrite.

These are needed by some dports and can also be used in various things
in base. Bump __DragonFly_version, too.

Reported-by: zrj
Taken-from:  FreeBSD

3 years agolibc/siglist: Oops, CKPTX should be CKPTEXIT.
Sascha Wildner [Sun, 22 Nov 2020 08:14:08 +0000 (09:14 +0100)]
libc/siglist: Oops, CKPTX should be CKPTEXIT.

3 years agoClean up the namespace of <arpa/inet.h>, <netdb.h> and <netinet/in.h>.
Sascha Wildner [Sun, 22 Nov 2020 07:04:38 +0000 (08:04 +0100)]
Clean up the namespace of <arpa/inet.h>, <netdb.h> and <netinet/in.h>.

These are further cleanups for stricter POSIX conformance, all related
to the uint*_t types, for which we previously had to include <stdint.h>
wholesale. Instead, wrap them in *_DECLARED macros and typedef them in
the headers that need them, usually just a subset.

Thanks to zrj for testing this with a dports bulk build.

3 years agosys/netproto/smb: Do not trust <netinet/in.h> to bring in <sys/types.h>.
Sascha Wildner [Sun, 22 Nov 2020 06:24:48 +0000 (07:24 +0100)]
sys/netproto/smb: Do not trust <netinet/in.h> to bring in <sys/types.h>.

<sys/types.h> will be removed from <netinet/in.h> in an upcoming commit.

3 years agoRemove non-__STDC__ cases in a number of places.
Sascha Wildner [Sat, 21 Nov 2020 20:39:15 +0000 (21:39 +0100)]
Remove non-__STDC__ cases in a number of places.

We expect a standard C compiler for building DragonFly.

3 years agolibc: Make the signal name array uppercase.
Sascha Wildner [Sat, 21 Nov 2020 20:35:20 +0000 (21:35 +0100)]
libc: Make the signal name array uppercase.

This is to satisfy POSIX which requires that the string printed by
'kill -l <signal number>' shall be the name of the symbolic constant
(for example, SIGKILL) without the 'SIG' part.

This also fixes a number of sh(1) tests.

While here, sync a bit further with FreeBSD. Specifically, use
C99 designated initialization.

Taken-from: FreeBSD

3 years agosh(1) tests: fix ld-elf.so version for DragonFly.
Sascha Wildner [Sat, 21 Nov 2020 19:34:07 +0000 (20:34 +0100)]
sh(1) tests: fix ld-elf.so version for DragonFly.

3 years agotest/netperf: Fix "clobbered" warning.
Sepherosa Ziehau [Sat, 21 Nov 2020 11:43:58 +0000 (19:43 +0800)]
test/netperf: Fix "clobbered" warning.

3 years agoTest commit.
Sepherosa Ziehau [Sat, 21 Nov 2020 11:42:47 +0000 (19:42 +0800)]
Test commit.

3 years agousr.sbin/fstyp: Fix HAMMER1 partial volumes detection (-u option)
Tomohiro Kusumi [Fri, 20 Nov 2020 16:27:42 +0000 (01:27 +0900)]
usr.sbin/fstyp: Fix HAMMER1 partial volumes detection (-u option)

3 years agodhcpcd: update README
Roy Marples [Fri, 20 Nov 2020 14:30:06 +0000 (14:30 +0000)]
dhcpcd: update README

3 years agoMerge branch 'vendor/DHCPCD'
Roy Marples [Fri, 20 Nov 2020 14:28:05 +0000 (14:28 +0000)]
Merge branch 'vendor/DHCPCD'

3 years agodhcpcd: Update to dhcpcd-9.3.3 with the following changes:
Roy Marples [Fri, 20 Nov 2020 14:26:27 +0000 (14:26 +0000)]
dhcpcd: Update to dhcpcd-9.3.3 with the following changes:

 * dhcpcd: Don't create a launcher process if keeping in foreground
 * dhcpcd: Add --noconfigure option
 * control: Create an unpriv socket for non master mode
 * options: Don't log unknown ones when printing pidfile location

3 years agousr.sbin/fstyp: Properly support -l for HAMMER1
Tomohiro Kusumi [Thu, 19 Nov 2020 16:10:05 +0000 (01:10 +0900)]
usr.sbin/fstyp: Properly support -l for HAMMER1

3 years agousr.sbin/fstyp: Minor HAMMER1 fixes
Tomohiro Kusumi [Wed, 18 Nov 2020 16:38:06 +0000 (01:38 +0900)]
usr.sbin/fstyp: Minor HAMMER1 fixes

3 years agosbin/newfs_hammer2: Remove redundant \n in err/errx
Tomohiro Kusumi [Wed, 18 Nov 2020 15:46:41 +0000 (00:46 +0900)]
sbin/newfs_hammer2: Remove redundant \n in err/errx

3 years agosbin/hammer2: Add bulkfree_tid for "volhdr"
Tomohiro Kusumi [Wed, 18 Nov 2020 15:35:33 +0000 (00:35 +0900)]
sbin/hammer2: Add bulkfree_tid for "volhdr"

3 years ago<sys/callout.h>: Add a missing semicolon in the callout_set_arg() macro.
Sascha Wildner [Wed, 18 Nov 2020 13:11:34 +0000 (14:11 +0100)]
<sys/callout.h>: Add a missing semicolon in the callout_set_arg() macro.

Fixes buildkernel with WANT_NETGRAPH7.

3 years agodsynth: Enable 'install' and 'deinstall' phases on test.
Antonio Huete Jimenez [Tue, 17 Nov 2020 19:37:53 +0000 (20:37 +0100)]
dsynth: Enable 'install' and 'deinstall' phases on test.

3 years agodsynth: Remove any trace of 'install-mtree' phase.
Antonio Huete Jimenez [Tue, 17 Nov 2020 12:12:43 +0000 (13:12 +0100)]
dsynth: Remove any trace of 'install-mtree' phase.

  - It's an empty target, poudriere-specific and it will
    be removed from ports at some point.

3 years agoUpdate the pciconf(8) database.
Sascha Wildner [Tue, 17 Nov 2020 12:04:00 +0000 (13:04 +0100)]
Update the pciconf(8) database.

November 14, 2020 snapshot from https://pci-ids.ucw.cz

3 years agokernel - Rewrite the callout API, major structural changes (2)
Matthew Dillon [Mon, 16 Nov 2020 10:09:38 +0000 (02:09 -0800)]
kernel - Rewrite the callout API, major structural changes (2)

* Fix deadlock during recursive callback, triggered by the USB
  subsystem.

  Basically we have to clear the SET bit immediately after setting
  INPROG, and also allow normal processing to occur synchronously
  from the same thread that dispatched the callback (normally INPROG
  prevents normal processing from occuring).

Reported-by: zrj
3 years agokernel - Add PROC_PDEATHSIG_CTL and PROC_PDEATHSIG_STATUS
Matthew Dillon [Sun, 15 Nov 2020 19:41:26 +0000 (11:41 -0800)]
kernel - Add PROC_PDEATHSIG_CTL and PROC_PDEATHSIG_STATUS

* Add PROC_PDEATHSIG_CTL and PROC_PDEATHSIG_STATUS to procctl(2).

  This follows the linux and freebsd semantics, however it should be noted
  that since the child of a fork() clears the setting, these semantics have
  a fork/exit race between an exiting parent and a child which has not
  yet setup its death wish.

* Also fix a number of signal ranging checks.

Requested-by: zrj
3 years agokernel - Rewrite the callout API, major structural changes
Matthew Dillon [Fri, 13 Nov 2020 22:38:04 +0000 (14:38 -0800)]
kernel - Rewrite the callout API, major structural changes

* Make struct callout much smaller, primarily now just containing
  a pointer to a shadow structure which is allocated on first use.

  The callout backend uses this shadow structure on the callout
  lists instead of the embedded struct callout.  This should reduce
  occurances of untraceable panics due to list corruption.  Instead,
  the callout-v-shadow structure linkages are validated with an assertion
  and if this panics it should be possible to determine which subsystem
  was responsible from the kernel core.

* tsleep() etc is used early in the boot sequence and use some
  bypass functions to streamline operations and avoid allocation
  calls.  This should also improve tsleep()s performance a bit over
  the original implementation.

3 years agoSync ACPICA with Intel's version 20201113.
Sascha Wildner [Sun, 15 Nov 2020 01:36:51 +0000 (02:36 +0100)]
Sync ACPICA with Intel's version 20201113.

* Fix a memory leak that could occur in _HID repair.

* Improve namespace debugging.

* Handle "orphan" _REG methods.

* Improve iasl(8) and acpihelp(8).

* Add 5 new NVDIMM and NFIT table related UUIDs to the known UUID table.

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

3 years agodrm/linux: Add llist_for_each_entry() and llist_del_first()
François Tigeot [Fri, 13 Nov 2020 13:34:59 +0000 (14:34 +0100)]
drm/linux: Add llist_for_each_entry() and llist_del_first()

Obtained-from: OpenBSD

3 years agokernel: Add atomic_cas_ptr()
François Tigeot [Fri, 13 Nov 2020 13:17:40 +0000 (14:17 +0100)]
kernel: Add atomic_cas_ptr()

Obtained-from: OpenBSD

3 years agodrm/linux: Rewrite the workqueue implementation
François Tigeot [Wed, 11 Nov 2020 19:49:32 +0000 (20:49 +0100)]
drm/linux: Rewrite the workqueue implementation

Most workqueues now use one runner thread per logical CPU, except for
WQ_UNBOUND ones, which only have a single kernel thread.

This commit contains critical fixes from Matthew Dillon for multithread
interaction issues in queue_work() and the cancel functions.

3 years agodrm/linux: Add atomic_dec_if_positive()
François Tigeot [Tue, 10 Nov 2020 13:58:11 +0000 (14:58 +0100)]
drm/linux: Add atomic_dec_if_positive()

Obtained-from: FreeBSD

3 years agolibdialog: Add missing function attribute definitions. Raise WARNS to 6.
Sascha Wildner [Tue, 10 Nov 2020 10:03:28 +0000 (11:03 +0100)]
libdialog: Add missing function attribute definitions. Raise WARNS to 6.

For some reason, 'configure' does not define them ootb.

3 years agokernel/ufs: Add some __dead2 to the stubs for the non-SOFTUPDATES case.
Sascha Wildner [Mon, 9 Nov 2020 15:59:58 +0000 (16:59 +0100)]
kernel/ufs: Add some __dead2 to the stubs for the non-SOFTUPDATES case.

3 years agobuild - Adjust message output after a make build-all
Matthew Dillon [Mon, 9 Nov 2020 01:25:03 +0000 (17:25 -0800)]
build - Adjust message output after a make build-all

* Clarify that the recommended pkg upgrade -f should be run after
  rebooting into the new system.

3 years agodmesg - Check current directory when -n is used
Matthew Dillon [Mon, 9 Nov 2020 01:24:09 +0000 (17:24 -0800)]
dmesg - Check current directory when -n is used

* When -n is used, first check the current directory for kern.n and
  vmcore.n.  If either is not found, then check /var/crash as before.

3 years agokernel: Use howmany() in a couple of places.
Sascha Wildner [Sat, 7 Nov 2020 23:18:43 +0000 (00:18 +0100)]
kernel: Use howmany() in a couple of places.

3 years agokernel - Incorporate drm79.patch to master, cleaned up
Matthew Dillon [Sat, 7 Nov 2020 18:42:33 +0000 (10:42 -0800)]
kernel - Incorporate drm79.patch to master, cleaned up

* Should fix a number of niggling issues in master now,
  that are already incorporated into the next drm sync.

3 years agokernel - Change pager interface to pass page index 3/*
Matthew Dillon [Sat, 7 Nov 2020 18:19:17 +0000 (10:19 -0800)]
kernel - Change pager interface to pass page index 3/*

* Don't shortcut vm_object_page_remove() with a resident_page_count
  test for MGTDEVICE objects.  These objects are not required to have
  their VM pages entered into them.

* in vm_object_page_remove(), change pmap_remove_pages() to
  pmap_remove().  The former is meant to be used only in the
  exit code and does not bother with TLB synchronization.
  pmap_remove() properly handles any TLB synchronization.

3 years agoAdd a minimal kernel configuration file.
Sascha Wildner [Fri, 6 Nov 2020 16:13:14 +0000 (17:13 +0100)]
Add a minimal kernel configuration file.

For testing the kernel build without any options.

3 years agoLINT64: Note that 'ident' and 'cpu' are mandatory, too.
Sascha Wildner [Fri, 6 Nov 2020 16:10:05 +0000 (17:10 +0100)]
LINT64: Note that 'ident' and 'cpu' are mandatory, too.

3 years agokernel: Fix building without 'options _KPOSIX_PRIORITY_SCHEDULING'.
Sascha Wildner [Fri, 6 Nov 2020 15:06:40 +0000 (16:06 +0100)]
kernel: Fix building without 'options _KPOSIX_PRIORITY_SCHEDULING'.

Prototype generation for this case was broken after 80d831e1ad5c5886e458.

Reported-by: zrj
3 years agoUpgrade libressl. 2/2
Daniel Fojt [Wed, 4 Nov 2020 20:52:19 +0000 (21:52 +0100)]
Upgrade libressl. 2/2

Update README.{DELETED,DRAGONFLY} and adapt Makefiles.

3 years agoUpgrade libressl. 1/2
Daniel Fojt [Wed, 4 Nov 2020 20:19:57 +0000 (21:19 +0100)]
Upgrade libressl. 1/2

Merge branch 'vendor/LIBRESSL' into master.

3 years agovendor/libressl: upgrade from 3.1.4 to 3.2.2
Daniel Fojt [Tue, 3 Nov 2020 18:37:17 +0000 (19:37 +0100)]
vendor/libressl: upgrade from 3.1.4 to 3.2.2

Summary of notable changes:

  * new TLSv1.3 implementation enabled by default for both client
    and server

  * new X509 certificate chain validator that correctly handles
    multiple paths through intermediate certificates

  * new name constraints verification implementation which passes
    the bettertls.com certificate validation check suite

  * numerous leaks and out-of-bounds write fixed

  * many improvements, refactoring, optimizations and code cleanups

See ChangeLog for details.

3 years agokernel: Reindent a few functions that were not using tabs.
Sascha Wildner [Thu, 5 Nov 2020 05:04:55 +0000 (06:04 +0100)]
kernel: Reindent a few functions that were not using tabs.

While here, fix a typo in the comments.

3 years agokernel/amd{smn,temp}: Sync with FreeBSD.
Sascha Wildner [Thu, 5 Nov 2020 03:13:11 +0000 (04:13 +0100)]
kernel/amd{smn,temp}: Sync with FreeBSD.

Adds support for Ryzen 4000 APU (Zen 2, "Renoir").

Reported-by: zrj
3 years agolib/csu: Add ifunc support for statically linked programs.
zrj [Wed, 4 Nov 2020 10:31:21 +0000 (10:31 +0000)]
lib/csu: Add ifunc support for statically linked programs.

 This assumes that both _init_tls() and _rtld_call_init() paths in libc
 will not contain ifunc calls.  For now should be enough since there was
 no ifunc support previously.

Derived-from: NetBSD crt0-common.c implementation

3 years agortld: Handle non-PLT type 37 relocations.
zrj [Tue, 3 Nov 2020 17:28:17 +0000 (17:28 +0000)]
rtld: Handle non-PLT type 37 relocations.

 Mainly to unbreak certain use cases of ifunc.

3 years agortld: Extract reloc_iresolve_one().
zrj [Tue, 3 Nov 2020 17:22:11 +0000 (17:22 +0000)]
rtld: Extract reloc_iresolve_one().

 Will be used to properly handle non-PLT 37 ifunc relocations in -pie.

3 years agokernel - Change pager interface to pass page index 2/2
Matthew Dillon [Wed, 4 Nov 2020 21:51:40 +0000 (13:51 -0800)]
kernel - Change pager interface to pass page index 2/2

* Adjust the DRM calls to vm_pager_get_page() to pass the
  page index.

* Greatly simplify drm/linux_shmem.c and drm/ttm/ttm_bo_vm.c,
  removing the need to deal with placemarker pages for
  VM faults on OBJT_MGTDEVICE objects.

3 years agokernel - Change pager interface to pass page index 1/2
Matthew Dillon [Wed, 4 Nov 2020 21:49:03 +0000 (13:49 -0800)]
kernel - Change pager interface to pass page index 1/2

* Change the *getpage() API to include the page index as
  an argument.  This allows us to avoid passing any vm_page_t
  for OBJT_MGTDEVICE VM pages.

  By removing this requirement, the VM system no longer has to
  pre-allocate a placemarker page for DRM faults and the DRM
  system can directly install the page in the pmap without
  tracking it via a vm_page_t.

3 years agokernel - Fix uninitialized variable in kqueue_register()
Matthew Dillon [Wed, 4 Nov 2020 21:34:09 +0000 (13:34 -0800)]
kernel - Fix uninitialized variable in kqueue_register()

* Fix another uninitialized variable that gcc didn't detect,
  this time in kqueue_register().

* Caused kernel compiled with -O0 to not operate properly.

* Initializing the error variable to 0 solves the problem.

Reported-by: zrj
3 years agokernel - Fix missing initialization in vnode_pager_lock()
Matthew Dillon [Wed, 4 Nov 2020 18:35:22 +0000 (10:35 -0800)]
kernel - Fix missing initialization in vnode_pager_lock()

* struct vnode *vp was not being initialized to NULL, causing
  a garbage return not caught by gcc if no while() condition
  is met.

* Only occurred with -O0.  The optimized case doesn't seem to hit
  the issue through luck.

Reported-by: zrj
3 years agosys/vfs/hammer2: Illustrate level1-6 freemap
Tomohiro Kusumi [Tue, 3 Nov 2020 16:30:19 +0000 (01:30 +0900)]
sys/vfs/hammer2: Illustrate level1-6 freemap

3 years agokernel: Avoid spurious diagnostic with older gcc47.
zrj [Mon, 2 Nov 2020 18:38:20 +0000 (18:38 +0000)]
kernel: Avoid spurious diagnostic with older gcc47.

3 years agobsd.sys.mk: Make -Wmissing-field-initializers non-fatal.
zrj [Mon, 2 Nov 2020 18:34:45 +0000 (18:34 +0000)]
bsd.sys.mk: Make -Wmissing-field-initializers non-fatal.

 It was decided that gcc47 gives few diagnostics wrongly in C99 mode.

3 years agoSync zoneinfo database with tzdata2020d from ftp://ftp.iana.org/tz/releases
Sascha Wildner [Sun, 1 Nov 2020 20:45:06 +0000 (21:45 +0100)]
Sync zoneinfo database with tzdata2020d from ftp://ftp.iana.org/tz/releases

* Palestine ends DST earlier than predicted, on 2020-10-24.

* Fiji starts DST later than usual, on 2020-12-20.

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

3 years agoscript.7: Fix description of the length of the '#!' line.
Sascha Wildner [Sun, 1 Nov 2020 19:59:43 +0000 (20:59 +0100)]
script.7: Fix description of the length of the '#!' line.

3 years agoenviron.7: Sync with FreeBSD.
Sascha Wildner [Sun, 1 Nov 2020 19:58:49 +0000 (20:58 +0100)]
environ.7: Sync with FreeBSD.

3 years agokernel: fix getcwd(3) return value for non-existing directory
Daniel Fojt [Sun, 1 Nov 2020 16:53:52 +0000 (17:53 +0100)]
kernel: fix getcwd(3) return value for non-existing directory

In case current directory no longer exists, properly return ENOENT
from getcwd(), as described in manpage.

Issue: https://bugs.dragonflybsd.org/issues/3250

3 years agosys/vfs/hammer2: Remove obsolete comment on copyids
Tomohiro Kusumi [Sun, 1 Nov 2020 15:10:09 +0000 (00:10 +0900)]
sys/vfs/hammer2: Remove obsolete comment on copyids

copyids in inode was removed in
ae183399278ee71fba31527cd18a7545ac9af2e4 in 2012.

3 years agoNote dhcpcd update
Roy Marples [Sun, 1 Nov 2020 14:37:48 +0000 (14:37 +0000)]
Note dhcpcd update

3 years agoMerge branch 'vendor/DHCPCD'
Roy Marples [Sun, 1 Nov 2020 14:35:46 +0000 (14:35 +0000)]
Merge branch 'vendor/DHCPCD'

3 years agoUpdate to dhcpcd-9.3.2 with the following changes:
Roy Marples [Sun, 1 Nov 2020 14:33:08 +0000 (14:33 +0000)]
Update to dhcpcd-9.3.2 with the following changes:

 * DHCP: Add support for IPv6-Only Preferred option, RFC 8925.
 * BSD: `LINK_STATE_UNKNOWN` is treated as UP once again
 * privsep: pass logging to the privileged actioneer
 * privsep: allow logfile re-opening to work
 * privsep: close BPF socket on ENXIO
 * privsep: don't leave a BOOTP BPF listener rebooting in non master mode

3 years agoboot/pc32: Fix ambiguity in legacy loaders for Hammer selection.
zrj [Sat, 31 Oct 2020 19:19:42 +0000 (19:19 +0000)]
boot/pc32: Fix ambiguity in legacy loaders for Hammer selection.

 Explicitly name both variants.  Default Hammer2 stays in legacy loader.
 Allow to built loader with HAMMER(5) support for testing purposes.
 Adjust libstand(3).

3 years agoboot/pc32: Reorder fs probe list.
zrj [Sat, 31 Oct 2020 18:57:55 +0000 (18:57 +0000)]
boot/pc32: Reorder fs probe list.

 Sort by: disk, cd, net, file.
 This should increase lookup speed for network loaders.

3 years agoboot/pc32: Conditionalize splitfs support in legacy loaders.
zrj [Sat, 31 Oct 2020 18:11:03 +0000 (18:11 +0000)]
boot/pc32: Conditionalize splitfs support in legacy loaders.

 This floppy feature was inherited and not so useful anymore.  Disabling
 it reduces filename lookups by half.  Also put it last, if enabled.

3 years agoSwitch to ld.bfd as default ld for world stage.
zrj [Sat, 31 Oct 2020 09:12:38 +0000 (09:12 +0000)]
Switch to ld.bfd as default ld for world stage.

 Until boot/efi issues are resolved:
 * ld.gold not respecting linker script for section merges;
 * clang built boot1.efi and loader.efi failures.

 Default can be restored by setting WORLD_LDVER=ld.gold in make.conf(5).
 Final installed ld(1) will still default to ld.gold to not disturb
 things in DPorts.

 NOTE: this might produce different final binaries if building in tree,
 but it should not be fatal as we support both ld.bfd and ld.gold.
 Use "make LDVER=ld.bfd" to mimic buildworld behaviour when needed.

3 years agoSwitch to binutils234 as default base binutils.
zrj [Sat, 31 Oct 2020 08:31:02 +0000 (08:31 +0000)]
Switch to binutils234 as default base binutils.

3 years agoboot/efi: Objcopy more sections to final *.efi objects.
zrj [Sat, 31 Oct 2020 08:29:40 +0000 (08:29 +0000)]
boot/efi: Objcopy more sections to final *.efi objects.

 Unbreaks uefi boot with when compiled with ld.gold from binutils234.

3 years agoboot/pc32: Consistently disable integrated-as for intermediates.
zrj [Sat, 31 Oct 2020 06:44:42 +0000 (06:44 +0000)]
boot/pc32: Consistently disable integrated-as for intermediates.

 This ensures that produced assembly intermediates are compatible with
 external as(1) when compiling with clang.

3 years agokernel: Disable use of clang's integrated as.
zrj [Sat, 31 Oct 2020 06:42:39 +0000 (06:42 +0000)]
kernel: Disable use of clang's integrated as.