dragonfly.git
4 years agolib/libdmsg: Fix compile warning on Linux distros
Tomohiro Kusumi [Mon, 19 Aug 2019 14:13:38 +0000 (23:13 +0900)]
lib/libdmsg: Fix compile warning on Linux distros

Appeared since 030e3428e0c23c47cef4dfab51f988a8fa665d19.

--
msg.c:202: warning: pointer targets in passing argument 1 of 'atomic_set_int' differ in signedness
atomic.h:129: note: expected 'volatile u_int *' but argument is of type 'int *'

4 years agosbin/hammer2: Fix compile warning on Linux distros
Tomohiro Kusumi [Mon, 19 Aug 2019 14:03:52 +0000 (23:03 +0900)]
sbin/hammer2: Fix compile warning on Linux distros

--
cmd_debug.c: In function 'show_bref':
cmd_debug.c:812: warning: pointer targets in passing argument 2 of 'CountFreeBlocks' differ in signedness
cmd_debug.c:42: note: expected 'hammer2_off_t *' but argument is of type 'int64_t *'
cmd_debug.c:812: warning: pointer targets in passing argument 3 of 'CountFreeBlocks' differ in signedness
cmd_debug.c:42: note: expected 'hammer2_off_t *' but argument is of type 'int64_t *'

cmd_debug.c: In function 'cmd_hash':
cmd_debug.c:890: warning: pointer targets in passing argument 1 of 'dirhash' differ in signedness

4 years agousr.sbin/fstyp: Fix compile warning on Linux distros
Tomohiro Kusumi [Mon, 19 Aug 2019 14:00:09 +0000 (23:00 +0900)]
usr.sbin/fstyp: Fix compile warning on Linux distros

Ondisk inode's filename[] is of unsigned char.

--
hammer2.c: In function '__read_label':
hammer2.c:123: warning: pointer targets in passing argument 2 of 'strncpy' differ in signedness

4 years agosbin/hammer2: Add missing usage() exit for "destroy"/"destroy-inum"
Tomohiro Kusumi [Sun, 18 Aug 2019 15:44:23 +0000 (00:44 +0900)]
sbin/hammer2: Add missing usage() exit for "destroy"/"destroy-inum"

4 years agosbin/hammer2: Align usage() output
Tomohiro Kusumi [Sun, 18 Aug 2019 15:40:11 +0000 (00:40 +0900)]
sbin/hammer2: Align usage() output

4 years agosbin/hammer2: Fix hammer2(8) and usage()
Tomohiro Kusumi [Sat, 17 Aug 2019 20:06:34 +0000 (05:06 +0900)]
sbin/hammer2: Fix hammer2(8) and usage()

4 years agosbin/mount_hammer2: Fix usage() output
Tomohiro Kusumi [Sat, 17 Aug 2019 15:30:07 +0000 (00:30 +0900)]
sbin/mount_hammer2: Fix usage() output

Sync with mount_hammer2(8).

4 years agolast(1): Fix braces.
Sascha Wildner [Sat, 17 Aug 2019 20:55:02 +0000 (22:55 +0200)]
last(1): Fix braces.

4 years agokernel - Fix race in sys_shmmat()
Matthew Dillon [Sat, 17 Aug 2019 18:34:12 +0000 (11:34 -0700)]
kernel - Fix race in sys_shmmat()

* Fix a race whereby two threads can attempt to allocate the
  same shmmap_s.  The race can occur because blocking conditions
  interrupt the token interlock.

  Simply add a simple reserved field to stage the allocation
  prior to the shmid being assigned.

4 years agoprintenv(1) - Sync with FreeBSD
Antonio Huete Jimenez [Sat, 17 Aug 2019 16:34:41 +0000 (18:34 +0200)]
printenv(1) - Sync with FreeBSD

- Remove MLINKS, env.1 has its own manpage now.

4 years agoenv(1) - Sync with FreeBSD
Antonio Huete Jimenez [Sat, 17 Aug 2019 15:59:46 +0000 (17:59 +0200)]
env(1) - Sync with FreeBSD

- There have been almost no changes since it was first imported.
- Now it has its own manpage

4 years agosbin/newfs_hammer2: Eliminate (an only)tab in result output
Tomohiro Kusumi [Fri, 16 Aug 2019 22:46:04 +0000 (07:46 +0900)]
sbin/newfs_hammer2: Eliminate (an only)tab in result output

Other lines are aligned with space.

4 years agosbin/newfs_hammer2: Zero clear boot/aux area
Tomohiro Kusumi [Fri, 16 Aug 2019 20:28:17 +0000 (05:28 +0900)]
sbin/newfs_hammer2: Zero clear boot/aux area

Although currently unused, don't leave unrelated garbage.
This increases runtime by 1 sec or so with default boot/aux size.

Also drop redundant bzero() call against zero'd buffer.

4 years agosbin/newfs_hammer2: Make ascii-art a bit more descriptive
Tomohiro Kusumi [Fri, 16 Aug 2019 18:43:31 +0000 (03:43 +0900)]
sbin/newfs_hammer2: Make ascii-art a bit more descriptive

4 years agoinet6: Take route reference before announcing address
Roy Marples [Fri, 16 Aug 2019 18:26:23 +0000 (19:26 +0100)]
inet6: Take route reference before announcing address

This mirrors the behaviour in rtinit_rtrequest_callback.

4 years agobump version for prior
Roy Marples [Fri, 16 Aug 2019 16:56:17 +0000 (17:56 +0100)]
bump version for prior

4 years agoinet6: emit RTM_NEWADDR messages on address flag changes.
Roy Marples [Fri, 16 Aug 2019 16:54:35 +0000 (17:54 +0100)]
inet6: emit RTM_NEWADDR messages on address flag changes.

We no longer emit RTM_NEWADDR right away when adding a new address
and starting DAD. Instead the result of the DAD will be emitted.

Some minor fixes from NetBSD are also brought in, such as
starting DAD when addresses are no longer detached and the
tentative state not being added when address lifetime is
extended.

Taken-from: NetBSD
Reviewed-by: sephe
4 years agoroute: Add support for route(4) message filtering.
Roy Marples [Fri, 16 Aug 2019 15:39:35 +0000 (16:39 +0100)]
route: Add support for route(4) message filtering.

This saves waking up listeners for messages they have no interest in.
It also helps to reduce the chance of a receive buffer overflow.

Taken-from: OpenBSD
Reviewd-by: sephe
4 years agosbin/mount_hammer2: Include <errno.h> for errno
Tomohiro Kusumi [Fri, 16 Aug 2019 15:10:21 +0000 (00:10 +0900)]
sbin/mount_hammer2: Include <errno.h> for errno

It's currently included via <dmsg.h>.

4 years agosbin/*_hammer2: Fix/cleanup Makefile
Tomohiro Kusumi [Fri, 16 Aug 2019 15:10:04 +0000 (00:10 +0900)]
sbin/*_hammer2: Fix/cleanup Makefile

4 years agosys/vfs/hammer2: Drop obsolete comment on chain allocation
Tomohiro Kusumi [Thu, 15 Aug 2019 19:06:04 +0000 (04:06 +0900)]
sys/vfs/hammer2: Drop obsolete comment on chain allocation

This comment no longer applies to this switch/case.
See 355d67fcd81e0a7b17007d691bb00bdd151f3d28 in 2013.

4 years agosbin/hammer2: Simplify bitmap offset calculation in "freemap"
Tomohiro Kusumi [Thu, 15 Aug 2019 15:10:10 +0000 (00:10 +0900)]
sbin/hammer2: Simplify bitmap offset calculation in "freemap"

Eliminate a magic number 256 (4MB / 16KB).
Each hammer2_bmap_data in leaf covers 4MB (level 0) data store.

4 years agosbin/hammer2: Print rotation# (0-7) in "freemap"
Tomohiro Kusumi [Wed, 14 Aug 2019 15:59:02 +0000 (00:59 +0900)]
sbin/hammer2: Print rotation# (0-7) in "freemap"

4 years agosbin/hammer2: Print bcount(>0) for all blockrefs in "show"/"freemap"
Tomohiro Kusumi [Wed, 14 Aug 2019 15:50:43 +0000 (00:50 +0900)]
sbin/hammer2: Print bcount(>0) for all blockrefs in "show"/"freemap"

4 years agosbin/hammer2: Refactor show_bref()
Tomohiro Kusumi [Wed, 14 Aug 2019 15:36:33 +0000 (00:36 +0900)]
sbin/hammer2: Refactor show_bref()

No functional difference.
Read media buf, get bscan pointer, and calculate bcount first.

4 years agosbin/hammer2: Remove unused local variable
Tomohiro Kusumi [Wed, 14 Aug 2019 15:29:29 +0000 (00:29 +0900)]
sbin/hammer2: Remove unused local variable

Always 1 and never used for anything.

4 years agoUpdate the pciconf(8) database.
Sascha Wildner [Thu, 15 Aug 2019 06:08:54 +0000 (08:08 +0200)]
Update the pciconf(8) database.

August 8, 2019 snapshot from https://pci-ids.ucw.cz

4 years agoahci - Add quirk for MCP73 AHCI Controller
Antonio Huete Jimenez [Thu, 15 Aug 2019 00:03:25 +0000 (02:03 +0200)]
ahci - Add quirk for MCP73 AHCI Controller

- The AHCI chip for the MCP73 motherboard, which is identified as below, does
  not properly handle certain handshake operations.

  ahci0@pci0:0:14:0:      class=0x010601 card=0xe03a1631 chip=0x07f410de rev=0xa2 hdr=0x00
    vendor     = 'NVIDIA Corporation'
    device     = 'GeForce 7100/nForce 630i SATA'
    class      = mass storage
    subclass   = SATA
    cap 01[44] = powerspec 2  supports D0 D3  current D0
    cap 12[8c] = SATA Index-Data Pair
    cap 05[b0] = MSI supports 8 messages, 64 bit enabled with 1 message

Pointed-out-by: dillon
4 years agosbin/hammer2: Whitespace cleanups/etc for cmd_debug.c
Tomohiro Kusumi [Wed, 14 Aug 2019 01:13:57 +0000 (10:13 +0900)]
sbin/hammer2: Whitespace cleanups/etc for cmd_debug.c

4 years agosbin/hammer2: Add -q mode (no blockref data) for "show"/"freemap"
Tomohiro Kusumi [Wed, 14 Aug 2019 01:08:25 +0000 (10:08 +0900)]
sbin/hammer2: Add -q mode (no blockref data) for "show"/"freemap"

4 years agonet/raw: Assert all APIs are called from netisr0.
Sepherosa Ziehau [Wed, 14 Aug 2019 02:40:22 +0000 (10:40 +0800)]
net/raw: Assert all APIs are called from netisr0.

Remove the raw pcb list lock, since thread serialization is used.

4 years agokernel - Fix SMP races in raw socket code
Matthew Dillon [Tue, 13 Aug 2019 17:55:50 +0000 (10:55 -0700)]
kernel - Fix SMP races in raw socket code

* The raw socket code was not properly dealing with SMP races
  in attach/detach verses receive processing.  Replace the token
  with a lockmgr lock.

  These issues never really caused an issue because raw sockets just
  aren't used very often, but they still need to be dealt with.

* SMP performance is not super-critical in this case so I just use a
  normal lock and keep it simple.

4 years agosbin/hammer2: Fix root blockref type in "freemap"
Tomohiro Kusumi [Tue, 13 Aug 2019 16:00:03 +0000 (01:00 +0900)]
sbin/hammer2: Fix root blockref type in "freemap"

The root blockref type for freemap should be
HAMMER2_BREF_TYPE_FREEMAP rather than HAMMER2_BREF_TYPE_VOLUME.
Both are pseudo types, but sync with what fchain uses.

4 years agosys/vfs/hammer2: Use HAMMER2_FREEMAP_LEVEL1_MASK
Tomohiro Kusumi [Tue, 13 Aug 2019 01:30:43 +0000 (10:30 +0900)]
sys/vfs/hammer2: Use HAMMER2_FREEMAP_LEVEL1_MASK

(HAMMER2_FREEMAP_LEVEL1_SIZE - 1) -> HAMMER2_FREEMAP_LEVEL1_MASK

4 years agosys/vfs/hammer2: Drop redundant H2FMSHIFT() macro
Tomohiro Kusumi [Mon, 12 Aug 2019 16:31:35 +0000 (01:31 +0900)]
sys/vfs/hammer2: Drop redundant H2FMSHIFT() macro

Since H2FMSHIFT() is only used with freemap radix levels, it can be
completely replaced with the existing HAMMER2_FREEMAP_LEVEL*_SIZE.
This is more readable.

4 years agosys/vfs/hammer2: Move duplicated macros H2FM*() to hammer2_disk.h
Tomohiro Kusumi [Mon, 12 Aug 2019 16:13:47 +0000 (01:13 +0900)]
sys/vfs/hammer2: Move duplicated macros H2FM*() to hammer2_disk.h

These macros exist in both freemap and bulkfree code.
Should be part of ondisk layout spec.

4 years agosys/vfs/hammer2: Drop unused inline function hammer2_freemapradix()
Tomohiro Kusumi [Mon, 12 Aug 2019 16:03:40 +0000 (01:03 +0900)]
sys/vfs/hammer2: Drop unused inline function hammer2_freemapradix()

Unused since 93f3933ac3e2ad37a7ba775663c711b13588f147 in 2013.

4 years agosys/vfs/hammer2: Use HAMMER2_FREEMAP_LEVEL1_SIZE
Tomohiro Kusumi [Mon, 12 Aug 2019 16:00:06 +0000 (01:00 +0900)]
sys/vfs/hammer2: Use HAMMER2_FREEMAP_LEVEL1_SIZE

4 years agosbin/newfs_hammer2: Drop -Isbin/hammer2 in Makefile
Tomohiro Kusumi [Sun, 11 Aug 2019 16:32:06 +0000 (01:32 +0900)]
sbin/newfs_hammer2: Drop -Isbin/hammer2 in Makefile

Unlike newfs_hammer(8), newfs_hammer2(8) just creates root inodes,
therefore it doesn't (need to) rely on hammer2(8) for ondisk
initialization nor does it have such functionality.

4 years agosbin/hammer2: Don't test uuid on "info"/"mountall" if uuid is 0
Tomohiro Kusumi [Sun, 11 Aug 2019 16:01:55 +0000 (01:01 +0900)]
sbin/hammer2: Don't test uuid on "info"/"mountall" if uuid is 0

Don't terminate if HAMMER2 device/partition has 0 uuid.

4 years agosbin/hammer2: Remove unnecessary { ... } scope
Tomohiro Kusumi [Sun, 11 Aug 2019 15:13:52 +0000 (00:13 +0900)]
sbin/hammer2: Remove unnecessary { ... } scope

4 years agosbin/newfs_hammer2: Whitespace cleanups
Tomohiro Kusumi [Sun, 11 Aug 2019 04:03:07 +0000 (13:03 +0900)]
sbin/newfs_hammer2: Whitespace cleanups

4 years agosbin/newfs_hammer2: Fix usage() output
Tomohiro Kusumi [Sun, 11 Aug 2019 03:55:00 +0000 (12:55 +0900)]
sbin/newfs_hammer2: Fix usage() output

Sync with newfs_hammer2(8).
Unlike HAMMER1, label name via -L is optional.

4 years agosbin/newfs_hammer2: Drop unused GIG
Tomohiro Kusumi [Sun, 11 Aug 2019 03:49:36 +0000 (12:49 +0900)]
sbin/newfs_hammer2: Drop unused GIG

from 2012.
There is no block device size requirement like HAMMER1.

4 years agosys/vfs/hammer2: Cleanup unused bp/nbio's in strategy
Tomohiro Kusumi [Sat, 10 Aug 2019 22:41:44 +0000 (07:41 +0900)]
sys/vfs/hammer2: Cleanup unused bp/nbio's in strategy

4 years agosys/vfs/hammer2: Use MAXBSIZE for getblk() size limit
Tomohiro Kusumi [Sat, 10 Aug 2019 22:01:45 +0000 (07:01 +0900)]
sys/vfs/hammer2: Use MAXBSIZE for getblk() size limit

4 years agodrm/linux: Add X86_FEATURE_HYPERVISOR
François Tigeot [Sat, 10 Aug 2019 19:57:15 +0000 (21:57 +0200)]
drm/linux: Add X86_FEATURE_HYPERVISOR

4 years agoBuild: Bump __DragonFly_version to 500703
François Tigeot [Sat, 10 Aug 2019 19:51:01 +0000 (21:51 +0200)]
Build: Bump __DragonFly_version to 500703

Knowing whether static TLS binding is useable or not is important
for some ports like graphics/mesa-libs

4 years agosys/vfs/hammer2: Fix comments on inode lock on truncation
Tomohiro Kusumi [Sat, 10 Aug 2019 17:04:03 +0000 (02:04 +0900)]
sys/vfs/hammer2: Fix comments on inode lock on truncation

Inodes are locked when these are called.

4 years agosys/vfs/hammer2: Fix indentation
Tomohiro Kusumi [Sat, 10 Aug 2019 15:05:07 +0000 (00:05 +0900)]
sys/vfs/hammer2: Fix indentation

4 years agokernel: Fix the _KERNEL/_KERNEL_STRUCTURES checks w/ error msg a bit.
Sascha Wildner [Sat, 10 Aug 2019 11:52:09 +0000 (13:52 +0200)]
kernel: Fix the _KERNEL/_KERNEL_STRUCTURES checks w/ error msg a bit.

Uniformly use this style:

#ifndef _KERNEL
#error "..."
#endif

over this style:

#ifndef _KERNEL
#error "..."
#else
[rest of header]
#endif

Pointed-out-by: zrj
4 years agokdump(1): Remove an unneeded include path in the Makefile.
Sascha Wildner [Sat, 10 Aug 2019 09:54:53 +0000 (11:54 +0200)]
kdump(1): Remove an unneeded include path in the Makefile.

Include syscalls.c relative to ${.CURDIR}/../../sys, that we need
anyway.

4 years agortld - Support static TLS bindings for late-loaded shared libraries (2)
Matthew Dillon [Sat, 10 Aug 2019 06:48:40 +0000 (23:48 -0700)]
rtld - Support static TLS bindings for late-loaded shared libraries (2)

* Add missing static_tls.h

Reported-by: ftigeot
4 years agortld - Support static TLS bindings for late-loaded shared libraries
Matthew Dillon [Fri, 9 Aug 2019 22:22:18 +0000 (15:22 -0700)]
rtld - Support static TLS bindings for late-loaded shared libraries

* Allow late (manual) dlopen()s to load shared libraries which
  use static TLS variables, as long as there is space.  Do proper
  late-binding and initialize the area for all threads.

* rtld will cache a symbol lookup on first-need for:
  "_pthread_distribute_static_tls" and then call it as needed to
  initialize late-bound static TLS space.

  This symbol is weakly bounded to __libc_distribute_static_tls in libc,
  and strongly overridden by _libthread_distribute_static_tls in
  libthread_xu.

* Fixes mesa glx-tls and others.

* Test code from FreeBSD.  Also tested with other combinations
  including a pthread_create() and -static compilation.

https://github.com/dumbbell/test-tls-initial-exec

4 years ago<machine/stdint.h>: Move __offsetof() to <sys/cdefs.h>.
Sascha Wildner [Fri, 9 Aug 2019 19:08:02 +0000 (21:08 +0200)]
<machine/stdint.h>: Move __offsetof() to <sys/cdefs.h>.

It didn't really fit well into <machine/stdint.h> which is for machine
dependent types only.

See FreeBSD's r99594.

I took a comment and some additional casts from FreeBSD.

Pointed-out-by: zrj
4 years agolibc/utmpx: Fix updwtmpx() across newsyslog rotation of /var/log/wtmpx.
Sascha Wildner [Fri, 9 Aug 2019 17:19:07 +0000 (19:19 +0200)]
libc/utmpx: Fix updwtmpx() across newsyslog rotation of /var/log/wtmpx.

When /var/log/wtmpx is rotated by newsyslog(8), an empty /var/log/wtmpx
is created. Fix updwtmpx() to write the signature record this case as
well. This signature record is used by setutxdb() to verify the file.

4 years ago<machine/stdint.h>: Use __GNUC_PREREQ__() for a __GNUC__ check.
Sascha Wildner [Fri, 9 Aug 2019 17:11:12 +0000 (19:11 +0200)]
<machine/stdint.h>: Use __GNUC_PREREQ__() for a __GNUC__ check.

Reported-by: zrj
4 years agoreboot(8): Fix argument order in logwtmpx().
Sascha Wildner [Thu, 8 Aug 2019 20:32:11 +0000 (22:32 +0200)]
reboot(8): Fix argument order in logwtmpx().

4 years agoinet6: discard NA messages with a lladdress we own
Roy Marples [Thu, 8 Aug 2019 16:41:55 +0000 (17:41 +0100)]
inet6: discard NA messages with a lladdress we own

This allows userland to send NA messages for already existing
addresses without the kernel reporting incorrectly that a
duplicate address has been detected.

4 years agonet/if: introduce if_bylla to find an interface by hardware address
Roy Marples [Thu, 8 Aug 2019 16:38:21 +0000 (17:38 +0100)]
net/if: introduce if_bylla to find an interface by hardware address

4 years ago<sys/stdint.h>: Remove obsolete typedefs for __wctrans_t and __wctype.h.
Sascha Wildner [Thu, 8 Aug 2019 08:32:03 +0000 (10:32 +0200)]
<sys/stdint.h>: Remove obsolete typedefs for __wctrans_t and __wctype.h.

These are no longer used since 0d5acd7467c4e95f792ef49fceb3ab8e917ce86b.

Reported-by: zrj
4 years ago<uchar.h>: Define char16_t and char32_t better.
Sascha Wildner [Wed, 7 Aug 2019 20:00:17 +0000 (22:00 +0200)]
<uchar.h>: Define char16_t and char32_t better.

Define them unless we use C++11 or higher. Also, remove __char16_t
and __char32_t from <sys/types.h>. Furthermore, remove the unneeded
declaration guards.

Thanks to zrj for his help.

4 years agodrm/linux: Implement more idr routines
François Tigeot [Wed, 7 Aug 2019 17:56:50 +0000 (19:56 +0200)]
drm/linux: Implement more idr routines

Add idr_get_next() and idr_for_each_entry()

Inspired-from: FreeBSD

4 years agokernel: Enable more generic drm code
François Tigeot [Wed, 7 Aug 2019 17:34:00 +0000 (19:34 +0200)]
kernel: Enable more generic drm code

Reduce differences with Linux 4.7.10

4 years agoDocument ENOBUFS error in read(2) and recv(2).
Roy Marples [Wed, 7 Aug 2019 01:05:43 +0000 (02:05 +0100)]
Document ENOBUFS error in read(2) and recv(2).

4 years agosocket: introduce SO_RERROR to detect receive buffer overflow
Roy Marples [Wed, 7 Aug 2019 00:48:21 +0000 (01:48 +0100)]
socket: introduce SO_RERROR to detect receive buffer overflow

kernel receive buffers are initially of a limited size and
generally the network protocols that use them don't care
if a packet gets lost.

However some users do care about lost messages even if not
baked into the protocol - such as consumers of route(4) to
track state.

POSIX states that read(2) can return an error of ENOBUFS so
return this error code when an overflow is detected.
Guard this with socket option SO_RERROR so that existing
applications which do not care can carry on not caring by
default.

Taken-from: NetBSD
Reviewed-by: sephe
4 years agoTest commit
Roy Marples [Tue, 6 Aug 2019 22:32:53 +0000 (23:32 +0100)]
Test commit

4 years agodbopen.3: Mention O_CLOEXEC.
Sascha Wildner [Tue, 6 Aug 2019 21:03:02 +0000 (23:03 +0200)]
dbopen.3: Mention O_CLOEXEC.

4 years ago<sys/copyright.h>: Remove a K&R leftover; use just spaces instead of /**/.
Sascha Wildner [Tue, 6 Aug 2019 18:45:35 +0000 (20:45 +0200)]
<sys/copyright.h>: Remove a K&R leftover; use just spaces instead of /**/.

4 years agosys/vfs/hammer2: Drop redundant ; in H2XOPDESCRIPTOR()
Tomohiro Kusumi [Mon, 5 Aug 2019 04:24:26 +0000 (13:24 +0900)]
sys/vfs/hammer2: Drop redundant ; in H2XOPDESCRIPTOR()

4 years agoFWIW, fix systags.sh.
Sascha Wildner [Tue, 6 Aug 2019 11:08:22 +0000 (13:08 +0200)]
FWIW, fix systags.sh.

4 years agokernel/ixgbe: Use __restrict instead of restrict like everywhere else.
Sascha Wildner [Tue, 6 Aug 2019 08:26:38 +0000 (10:26 +0200)]
kernel/ixgbe: Use __restrict instead of restrict like everywhere else.

4 years agokernel/drm: Add print_hex_buffer() and use it.
Sascha Wildner [Mon, 5 Aug 2019 19:02:28 +0000 (21:02 +0200)]
kernel/drm: Add print_hex_buffer() and use it.

4 years agosail(6): Sync with NetBSD.
Sascha Wildner [Mon, 29 Jul 2019 10:43:57 +0000 (12:43 +0200)]
sail(6): Sync with NetBSD.

This, among other things, fixes an old curses related bug that caused
FreeBSD ports to take NetBSD's instead of ours (the games/bsdgames port
takes our source as the distfile). They've since switched to debian's
sail.

See https://svnweb.freebsd.org/ports?view=revision&revision=495354

4 years agosys/vfs/hammer2: Drop obsolete comments on chain
Tomohiro Kusumi [Sun, 4 Aug 2019 16:29:16 +0000 (01:29 +0900)]
sys/vfs/hammer2: Drop obsolete comments on chain

"dbtree", "dbq", "core_entry", "domodify" are all removed in around 2014.

4 years agoahci - sili - Reduce insertion delay from 10 seconds to 5
Matthew Dillon [Sat, 3 Aug 2019 20:42:45 +0000 (13:42 -0700)]
ahci - sili - Reduce insertion delay from 10 seconds to 5

* Reduce the insertion delay for hot-plug from 10 seconds to
  5 seconds.

4 years agosys/vfs/hammer2: Test bref type HAMMER2_BREF_TYPE_EMPTY instead 0
Tomohiro Kusumi [Fri, 2 Aug 2019 22:22:44 +0000 (07:22 +0900)]
sys/vfs/hammer2: Test bref type HAMMER2_BREF_TYPE_EMPTY instead 0

4 years agotelnet - Apply FreeBSD-SA-19:12.telnet.asc to telnet
Matthew Dillon [Sat, 3 Aug 2019 16:09:45 +0000 (09:09 -0700)]
telnet - Apply FreeBSD-SA-19:12.telnet.asc to telnet

* Fix two environment variable vulnerabililties in the telnet
  client.

* Generally replace all sprintf()s with snprintf()s.

4 years agosys/vfs/hammer2: Fix function name in panic() calls
Tomohiro Kusumi [Thu, 1 Aug 2019 20:27:37 +0000 (05:27 +0900)]
sys/vfs/hammer2: Fix function name in panic() calls

4 years agosys/vfs/hammer2: Drop unused CHAIN_CORE_DELETE_BMAP_ENTRIES
Tomohiro Kusumi [Thu, 1 Aug 2019 18:36:05 +0000 (03:36 +0900)]
sys/vfs/hammer2: Drop unused CHAIN_CORE_DELETE_BMAP_ENTRIES

Added in 8138a154be31c3db1d8bd046ca7b003a6c79c01c in 2014,
but never used. It also doesn't seem to have any meaning in
current implementation.

4 years agokernel - Add SIOCGIFALIAS
Matthew Dillon [Fri, 2 Aug 2019 15:26:32 +0000 (08:26 -0700)]
kernel - Add SIOCGIFALIAS

* Add SIOCGIFALIAS to retrieve ifconfig information on a single
  alias entry.

Submitted-by: rsmarples (Roy Marples)
Taken-from: NetBSD

4 years agokernel: Clean up a bit after the recent tap/tun changes.
Sascha Wildner [Fri, 2 Aug 2019 14:59:23 +0000 (16:59 +0200)]
kernel: Clean up a bit after the recent tap/tun changes.

4 years agohammer2 - Reorder errno priority for unlink directory errors
Matthew Dillon [Fri, 2 Aug 2019 05:13:49 +0000 (22:13 -0700)]
hammer2 - Reorder errno priority for unlink directory errors

* When AT_REMOVEDIR is not specified, or unlink() is called on a
  directory, prioritize returning EISDIR over ENOTEMPTY.

* Unbreaks part of 'go'.

Reported-by: hsw
4 years agodrm/linux: Add pci_name()
François Tigeot [Thu, 1 Aug 2019 18:37:12 +0000 (20:37 +0200)]
drm/linux: Add pci_name()

Obtained-from: FreeBSD

4 years agodrm/linux: Add DEFINE_SPINLOCK()
François Tigeot [Thu, 1 Aug 2019 18:32:36 +0000 (20:32 +0200)]
drm/linux: Add DEFINE_SPINLOCK()

4 years agokernel - Add quirks for CORSAIR STRAFE_RGB keyboard
Matthew Dillon [Thu, 1 Aug 2019 17:57:54 +0000 (10:57 -0700)]
kernel - Add quirks for CORSAIR STRAFE_RGB keyboard

* Add two quirk features to add delays during initialization and
  control message operation.

* Add quirks for the CORSAIR STRAFE_RGB keyboard and numerous other
  CORSAIR keyboards.

* Does not particularly fix specific issues with these keyboards,
  but the code is good so include it.  Quirks are generally taken
  from Linux.

4 years agokernel - Enable busmaster on bridges (BIOS might not)
Matthew Dillon [Thu, 1 Aug 2019 17:51:55 +0000 (10:51 -0700)]
kernel - Enable busmaster on bridges (BIOS might not)

* BIOSes do not always enable busmaster on bridges.  Make sure
  busmaster is enabled on all bridges.

* Reproduced with an Asus X370-PRO (AM4) motherboard which was not
  enabling busmaster on the bridges connecting either the motherboard
  IGB or the quad IGB card installed in a slot, but only when booting
  EFI.  When booting legacy the BIOS did enable busmaster.

* The characteristics of the failure is that NICs fail to physically
  transmit packets and received packets cannot be DMA'd into the rings,
  causing the packet error counter to increment once the receive
  hardware FIFO is full.

* Fixes EFI booting on some motherboards.

4 years agobuild - Adjust _CMSG_ALIGN() for compatibility
Matthew Dillon [Thu, 1 Aug 2019 17:01:17 +0000 (10:01 -0700)]
build - Adjust _CMSG_ALIGN() for compatibility

* The argument to _CMSG_ALIGN() is commonly unsigned, fix compiler
  warnings by making the alignment constants unsigned.

* Also take a page from FreeBSD and cast the (n) argument to an
  unsigned quantity (size_t).

* Note that the alignment code is still hardwired to 4 bytes,
  and will eventually have to be changed to something more portable.
  For now do not change it as doing so would introduce an ABI
  incompatibility.

Rerported-by: rsmarples (Roy Marples)
4 years agosys/vfs/hammer2: Drop unused hammer2_chain::flush_node
Tomohiro Kusumi [Thu, 1 Aug 2019 16:03:30 +0000 (01:03 +0900)]
sys/vfs/hammer2: Drop unused hammer2_chain::flush_node

No longer used since ecfe89b8868b30c9ddfa9c86cb4b0a20365a248d.

4 years agosys/vfs/hammer2: Use HAMMER2_BREF_TYPE_EMPTY for blockref type 0
Tomohiro Kusumi [Thu, 1 Aug 2019 15:12:38 +0000 (00:12 +0900)]
sys/vfs/hammer2: Use HAMMER2_BREF_TYPE_EMPTY for blockref type 0

4 years agoRemove <machine/inttypes.h> from a number of files that don't need it.
Sascha Wildner [Thu, 1 Aug 2019 10:40:39 +0000 (12:40 +0200)]
Remove <machine/inttypes.h> from a number of files that don't need it.

4 years agoAdd missing <sys/filio.h> inclusion to vknetd(8). Fixes buildworld.
Sascha Wildner [Wed, 31 Jul 2019 09:40:14 +0000 (11:40 +0200)]
Add missing <sys/filio.h> inclusion to vknetd(8). Fixes buildworld.

Reported-by: zrj
4 years agovknetd - Isue FIOSETOWN to set pid for tap interface
Matthew Dillon [Tue, 30 Jul 2019 19:55:35 +0000 (12:55 -0700)]
vknetd - Isue FIOSETOWN to set pid for tap interface

* Issue FIOSETOWN ioctl to set the pid for the tap interface in the
  child.  The primary open occurs in the parent process and is lost
  when we demonize.

* Note that vknetd does not set FIOASYNC and does not use SIGIO

4 years agoif_tap - set pid reporting with FIOSETOWN too
Matthew Dillon [Tue, 30 Jul 2019 19:54:09 +0000 (12:54 -0700)]
if_tap - set pid reporting with FIOSETOWN too

* Set pid reporting with FIOSETOWN as well.

4 years agoif_tap/if_tun - Remove pre-created devices
Matthew Dillon [Tue, 30 Jul 2019 19:29:02 +0000 (12:29 -0700)]
if_tap/if_tun - Remove pre-created devices

* The pre-created devices cause bitmap confusion between the
  if autoclone bitmap tracking in netif and the bitmap tracking
  in the device drivers.

  Just remove the pre-created devices entirely.  Users must manually
  create the appropriate tap or tun interface, or use the auto-cloning
  device (/dev/tap and /dev/tun).

* Fixes panics and auto clone create errors related to this confusion.

Reported-by: tuxillo
4 years agovknetd - Use the auto-clone /dev/tap device
Matthew Dillon [Tue, 30 Jul 2019 19:25:20 +0000 (12:25 -0700)]
vknetd - Use the auto-clone /dev/tap device

* Don't scan pre-created /dev/tapN devices, use the auto-clone device.
  The pre-created devices are going away.

4 years agobsd.cpu.gcc80.mk: Sync with GCC 8.3.0 documentation.
Sascha Wildner [Tue, 30 Jul 2019 18:08:42 +0000 (20:08 +0200)]
bsd.cpu.gcc80.mk: Sync with GCC 8.3.0 documentation.

This adds cannonlake, icelake-client, icelake-server, and knm as values
for CPUTYPE.

4 years agokcollect - Fix comments
Antonio Huete Jimenez [Tue, 30 Jul 2019 10:55:15 +0000 (12:55 +0200)]
kcollect - Fix comments

4 years agosbin/hammer2: Introduce HAMMER2_SHOW_TAB for "show"
Tomohiro Kusumi [Sat, 27 Jul 2019 20:26:36 +0000 (05:26 +0900)]
sbin/hammer2: Introduce HAMMER2_SHOW_TAB for "show"

The default stays 2, but now tunable via HAMMER2_SHOW_TAB.

4 years agokernel/vga: Remove unneeded opt_*.h inclusions.
Sascha Wildner [Sun, 28 Jul 2019 12:15:24 +0000 (14:15 +0200)]
kernel/vga: Remove unneeded opt_*.h inclusions.