dragonfly.git
3 years agocpdup - Add support for lchmod(), lutimes(), and lchflags()
Matthew Dillon [Fri, 30 Oct 2020 21:43:52 +0000 (14:43 -0700)]
cpdup - Add support for lchmod(), lutimes(), and lchflags()

* Add support for these functions, allowing symlinks to be fully
  replicated.

* Fix issues when the destination of a rename is chflagged in a way
  that causes the rename to fail.

* Delete temporary files when a rename files.

* Set SrcHost/DstHost.version for local sources or targets
  to make version tests easier.

Reported-by: Oliver Fromme
3 years agokernel - Fix buffer overflow in legacy (non EFI) boot loader
Matthew Dillon [Fri, 30 Oct 2020 18:25:23 +0000 (11:25 -0700)]
kernel - Fix buffer overflow in legacy (non EFI) boot loader

* Fix a buffer overflow primarily in bd_read().  The code contains
  a work-around for segment boundary crossings that very old BIOSes
  would sometimes blow-up on, but was improperly calculating the
  bounce-buffer I/O limit to be the full bounce-buffer size
  instead of 1/2 the bounce buffer size.

  Thus if the bounce buffer's base address happened to be certain
  values, large I/O requests would overflow the buffer.

* Make sure the bounce-buffer is 16-byte aligned, again for old
  BIOSes.

Reported-by: zrj
Debugging-by: dillon, zrj, Naabed-
3 years agobsd-family-tree: Sync with FreeBSD (FreeBSD 12.2).
Sascha Wildner [Fri, 30 Oct 2020 17:20:05 +0000 (18:20 +0100)]
bsd-family-tree: Sync with FreeBSD (FreeBSD 12.2).

3 years agobsd.own.mk: Remove some obsolete variables.
Sascha Wildner [Thu, 29 Oct 2020 20:59:53 +0000 (21:59 +0100)]
bsd.own.mk: Remove some obsolete variables.

Those were overlooked in c880cbafebe60271ee and 086b69d307ad34d5d4.

3 years agokernel - Fix slow memory leak in kernel
Matthew Dillon [Wed, 28 Oct 2020 18:23:00 +0000 (11:23 -0700)]
kernel - Fix slow memory leak in kernel

* Fix a slow memory leak with the resource limit structure when
  forking a heavily-threaded process.

* Fixes a kmalloc limit panic related to M_PLIMIT.

Reported-by: tuxillo
3 years agosys/vfs/hammer2: Remove #if0'd code using removed function
Tomohiro Kusumi [Mon, 26 Oct 2020 15:54:16 +0000 (00:54 +0900)]
sys/vfs/hammer2: Remove #if0'd code using removed function

hammer2_sync_scan2() was removed in
ecfe89b8868b30c9ddfa9c86cb4b0a20365a248d in 2018,
so remove #if0'd code using hammer2_sync_scan2().

3 years agosys/vfs/hammer2: Remove unused hammer2_dev_{ex,sh,un}lock()
Tomohiro Kusumi [Mon, 26 Oct 2020 15:11:23 +0000 (00:11 +0900)]
sys/vfs/hammer2: Remove unused hammer2_dev_{ex,sh,un}lock()

Added in 506bd6d145b6429947d572e34575b4a2a864193c in 2015,
but unused since 6f445d15835c6677a0a79c8d168ef44d0b9b22c3 in 2018.

It currently takes vchain lock via hammer2_chain_lock(),
so this function won't be needed or used again.

3 years agosys/vfs/hammer2: Fix comments on rbtree which should be radix tree
Tomohiro Kusumi [Sun, 25 Oct 2020 16:41:23 +0000 (01:41 +0900)]
sys/vfs/hammer2: Fix comments on rbtree which should be radix tree

3 years agosbin/hammer2: Fix hammer2_pfssubtype_to_str() retval for NONE
Tomohiro Kusumi [Sun, 25 Oct 2020 14:40:26 +0000 (23:40 +0900)]
sbin/hammer2: Fix hammer2_pfssubtype_to_str() retval for NONE

cac06d4ec621562239475e76988ab16c661f3430 initially added this
based on cmd_pfs_list() implementation, but change it to return
"NONE" for HAMMER2_PFSSUBTYPE_NONE so that this function makes
sense in other contexts.

3 years agodrm/ttm: Use workqueues everywhere
François Tigeot [Wed, 28 Oct 2020 13:01:48 +0000 (14:01 +0100)]
drm/ttm: Use workqueues everywhere

Remove the last direct usage of taskqueues.

3 years agokernel: Staticize some variables in platform/pc64.
Sascha Wildner [Sun, 25 Oct 2020 00:03:51 +0000 (02:03 +0200)]
kernel: Staticize some variables in platform/pc64.

Also, remove some unused variables and move some extern declarations
to header files.

3 years agosbin/hammer2: Don't use 1 byte size for 0 radix bits
Tomohiro Kusumi [Thu, 22 Oct 2020 18:03:08 +0000 (03:03 +0900)]
sbin/hammer2: Don't use 1 byte size for 0 radix bits

Same as 893aa36e0111c1418f260bd8d1092b7f22ea010e for userspace code.

3 years agosbin/hammer2: Improve "printinode"
Tomohiro Kusumi [Wed, 21 Oct 2020 17:15:01 +0000 (02:15 +0900)]
sbin/hammer2: Improve "printinode"

Inmemory inode only has meta part of ondisk inode (no blockrefs),
so remove unused code which won't be implemented.

3 years agolibexec/dma: sync with upstream
Daniel Fojt [Fri, 23 Oct 2020 06:10:16 +0000 (08:10 +0200)]
libexec/dma: sync with upstream

- avoid double free in reallocf()
- fix use-after-free in deliver()
- more meaningful reporting of server greeting errors
- minor code cleanup

3 years agorc.d: Fix indent.
Sascha Wildner [Fri, 23 Oct 2020 07:12:28 +0000 (09:12 +0200)]
rc.d: Fix indent.

3 years agokernel: Fix two more -Wcast-qual warnings reported by clang.
Sascha Wildner [Thu, 22 Oct 2020 17:56:14 +0000 (19:56 +0200)]
kernel: Fix two more -Wcast-qual warnings reported by clang.

Use __DECONST() in another case that I had fixed in cebef8bba30e3313d8f2
with a (void *) cast.

3 years agosystat(1): Remove dead code.
Sascha Wildner [Thu, 22 Oct 2020 13:23:19 +0000 (15:23 +0200)]
systat(1): Remove dead code.

It was inactivated by c8cad1a46f5d4e9ee689c3da2c3909245b783200 but
forgotten to be removed.

3 years agohammer2(8): Oops, unbreak build.
Sascha Wildner [Wed, 21 Oct 2020 18:57:06 +0000 (20:57 +0200)]
hammer2(8): Oops, unbreak build.

3 years agohammer2(8): Point out dead code a bit clearer.
Sascha Wildner [Wed, 21 Oct 2020 18:54:42 +0000 (20:54 +0200)]
hammer2(8): Point out dead code a bit clearer.

3 years agosys/vfs/ext2fs: Enable VFCF_MPSAFE
Tomohiro Kusumi [Tue, 20 Oct 2020 16:18:11 +0000 (01:18 +0900)]
sys/vfs/ext2fs: Enable VFCF_MPSAFE

3 years agosys/vfs/hammer2: Don't use 1 byte size for 0 radix bits
Tomohiro Kusumi [Mon, 19 Oct 2020 16:04:07 +0000 (01:04 +0900)]
sys/vfs/hammer2: Don't use 1 byte size for 0 radix bits

Not using 1 byte size for 0 radix bits is part of ondisk spec.
This may not be expected to happen in these cases, but other ones
always consider 0 radix or assert radix != 0.

--
 * WARNING! A radix of 0 (such as when data_off is all 0's) is a special
 *     case which means no data associated with the blockref, and
 *     not the '1 byte' it would otherwise calculate to.

3 years agohostname(1): Remove unneeded extra parentheses.
Sascha Wildner [Wed, 21 Oct 2020 02:45:36 +0000 (04:45 +0200)]
hostname(1): Remove unneeded extra parentheses.

3 years agodefaults/compilers.conf: Clean up old CCVERs and add one for clang10.
Sascha Wildner [Tue, 20 Oct 2020 15:41:34 +0000 (17:41 +0200)]
defaults/compilers.conf: Clean up old CCVERs and add one for clang10.

With devel/llvm10 installed, this builds world and kernel like
described in compilers.conf(5)'s EXAMPLES section.

Note that it is only build-tested. I haven't ever tried running a
clang compiled world/kernel.

3 years agoboot/boot2 (legacy): Add -fno-addrsig for clang compilation.
Sascha Wildner [Tue, 20 Oct 2020 14:07:43 +0000 (16:07 +0200)]
boot/boot2 (legacy): Add -fno-addrsig for clang compilation.

We need this because in this case, the assembler used is binutil's,
which does not understand .addrsig/.addrsig_sym.

3 years agogcc: Add clang's -Wno-c++11-narrowing where we have gcc's -Wno-narrowing.
Sascha Wildner [Sat, 17 Oct 2020 08:16:22 +0000 (10:16 +0200)]
gcc: Add clang's -Wno-c++11-narrowing where we have gcc's -Wno-narrowing.

This fixes some clang buildworld issues.

Not sure why it errors without this flag even though no -Werror is set.

3 years ago<sys/exislock.h>: Add include guard and adjust includes.
Sascha Wildner [Tue, 20 Oct 2020 10:48:57 +0000 (12:48 +0200)]
<sys/exislock.h>: Add include guard and adjust includes.

3 years agoAdjust permissions of various files.
Sascha Wildner [Mon, 19 Oct 2020 16:29:49 +0000 (18:29 +0200)]
Adjust permissions of various files.

3 years agoperiodic: add daily check for kernel vs. userland consistency
Daniel Fojt [Sun, 18 Oct 2020 15:22:19 +0000 (17:22 +0200)]
periodic: add daily check for kernel vs. userland consistency

- import new daily periodic script 510.status-world-kernel
- extend default periodic.conf
- update manpage periodic.conf.5

Taken from: FreeBSD
Reviewed by: Sascha Wildner

3 years agosys/vfs/hammer2: Remove obsolete comments on blockset/blockref
Tomohiro Kusumi [Sun, 18 Oct 2020 15:15:35 +0000 (00:15 +0900)]
sys/vfs/hammer2: Remove obsolete comments on blockset/blockref

Apparently blockrefs are sorted with possible holes.
1897c66ea31ca9d7b3fb03ba08889054bf36ef04 in 2013 changed how blockrefs
within inode's blockset or indirect block are created/deleted.

Inode has "ncopies" field, but redundancy isn't implemented.

"blockrefs in a set can shortcut multiple levels of indirections"
seems to have only existed in this comment.

3 years agosys/vfs/hammer2: Remove unused local variable in hammer2_chain_dirent_test()
Tomohiro Kusumi [Sat, 17 Oct 2020 16:15:07 +0000 (01:15 +0900)]
sys/vfs/hammer2: Remove unused local variable in hammer2_chain_dirent_test()

3 years agosys/vfs/hammer2: Move voldata functions to hammer2_vfsops.c
Tomohiro Kusumi [Sat, 17 Oct 2020 16:12:23 +0000 (01:12 +0900)]
sys/vfs/hammer2: Move voldata functions to hammer2_vfsops.c

These should be in hammer2_vfsops.c, not much to do with chain
functions.

3 years agosys/vfs/hammer2: Remove unused hammer2_chain_[rw]data()
Tomohiro Kusumi [Fri, 16 Oct 2020 15:23:14 +0000 (00:23 +0900)]
sys/vfs/hammer2: Remove unused hammer2_chain_[rw]data()

HAMMER2 code directly access chain->data without these wrappers,
except for two places using hammer2_chain_rdata().

3 years agosys/vfs/hammer2: Remove unused hammer2_chain_wait()
Tomohiro Kusumi [Thu, 15 Oct 2020 17:12:24 +0000 (02:12 +0900)]
sys/vfs/hammer2: Remove unused hammer2_chain_wait()

This should have been removed along with other chain functions
in 278ab2b27e913575840951f625eb2d8620aafa34 in 2014 when cluster
functions replaced them.

3 years agoboot/boot2 (legacy): Remove an unneeded Makefile rule.
Sascha Wildner [Fri, 16 Oct 2020 13:19:58 +0000 (15:19 +0200)]
boot/boot2 (legacy): Remove an unneeded Makefile rule.

This is covered by our suffix-transformation rules in sys.mk.

3 years agoUpgrade libedit. 2/2
Daniel Fojt [Thu, 15 Oct 2020 17:06:23 +0000 (19:06 +0200)]
Upgrade libedit. 2/2

Update README.{DELETED,DRAGONFLY}.

3 years agoUpgrade libedit. 1/2
Daniel Fojt [Thu, 15 Oct 2020 16:42:16 +0000 (18:42 +0200)]
Upgrade libedit. 1/2

Merge branch 'vendor/LIBEDIT' into master.

3 years agovendor/libedit: upgrade from 2019-03-24 to 2019-12-31
Daniel Fojt [Wed, 14 Oct 2020 19:42:25 +0000 (21:42 +0200)]
vendor/libedit: upgrade from 2019-03-24 to 2019-12-31

Most significant changes:

- avoid screwed terminal when going back in history [1]
- fix undefined terminal behavior in terminal_move_to_line() [2]
- avoid uninitialized memory access in hist_get() [3]
- fix segfault from re_fastputc() in certain situations [4]

[1] http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=52359
[2] http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=54329
[3] http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=54399
[4] http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=54654

3 years agoetc/regdomain.xml: sync with FreeBSD
Daniel Fojt [Fri, 16 Oct 2020 05:19:38 +0000 (07:19 +0200)]
etc/regdomain.xml: sync with FreeBSD

3 years agoUpdate the pciconf(8) database.
Sascha Wildner [Thu, 15 Oct 2020 18:51:10 +0000 (20:51 +0200)]
Update the pciconf(8) database.

October 11, 2020 snapshot from https://pci-ids.ucw.cz

3 years agoSync zoneinfo database with tzdata2020b from ftp://ftp.iana.org/tz/releases
Sascha Wildner [Thu, 15 Oct 2020 18:48:25 +0000 (20:48 +0200)]
Sync zoneinfo database with tzdata2020b from ftp://ftp.iana.org/tz/releases

* Revised predictions for Morocco's changes starting in 2023.

* Canada's Yukon changes to -07 on 2020-11-01, not 2020-03-08.

* Macquarie Island has stayed in sync with Tasmania since 2011.

* Casey, Antarctica is at +08 in winter and +11 in summer.

* Various other fixes and corrections in past timestamps.

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

3 years agosys/vfs/hammer2: Redo 428dc73dec68fbb23a2d18e7a7ef1048287709a6
Tomohiro Kusumi [Wed, 14 Oct 2020 17:56:07 +0000 (02:56 +0900)]
sys/vfs/hammer2: Redo 428dc73dec68fbb23a2d18e7a7ef1048287709a6

Should detect invalid blockrefs other than empty if any,
and keep the behavior unchanged.

3 years agosys/vfs/hammer2: Simplify chain allocation in hammer2_chain_alloc()
Tomohiro Kusumi [Wed, 14 Oct 2020 15:30:20 +0000 (00:30 +0900)]
sys/vfs/hammer2: Simplify chain allocation in hammer2_chain_alloc()

This initially had different behavior depending on blockref type,
but today all it does is allocate a chain, so just test invalid empty
blockref case for empty blockref slot and then allocate.

3 years agosys/vfs/hammer2: Cleanup invalid blockref type switch cases
Tomohiro Kusumi [Wed, 14 Oct 2020 15:19:20 +0000 (00:19 +0900)]
sys/vfs/hammer2: Cleanup invalid blockref type switch cases

3 years agosys/vfs/hammer2: Remove unused chain size variable in hammer2_chain_rename()
Tomohiro Kusumi [Tue, 13 Oct 2020 15:50:46 +0000 (00:50 +0900)]
sys/vfs/hammer2: Remove unused chain size variable in hammer2_chain_rename()

This local variable is unused.
It used to be in around a4dc31e022f821212e65d95b025bca4d77c73ca6 in 2013.
Also remove obsolete comment.

3 years agomt(1): Change c_code to u_long because it has to hold an ioctl command.
Sascha Wildner [Wed, 14 Oct 2020 14:25:41 +0000 (16:25 +0200)]
mt(1): Change c_code to u_long because it has to hold an ioctl command.

Forgotten porting to x86_64.

3 years agokernel: Remove unused memmove() and memset() from libkern.
Sascha Wildner [Sun, 11 Oct 2020 21:49:47 +0000 (23:49 +0200)]
kernel: Remove unused memmove() and memset() from libkern.

3 years agodf(1): Remove an unused function.
Sascha Wildner [Wed, 14 Oct 2020 14:22:23 +0000 (16:22 +0200)]
df(1): Remove an unused function.

3 years agodrm: fix a bug in ttm_bo_add_to_lru()
François Tigeot [Wed, 14 Oct 2020 08:54:21 +0000 (10:54 +0200)]
drm: fix a bug in ttm_bo_add_to_lru()

3 years agoipcrm(1): semctl() needs no argument for IPC_RMID.
Sascha Wildner [Tue, 13 Oct 2020 20:47:48 +0000 (22:47 +0200)]
ipcrm(1): semctl() needs no argument for IPC_RMID.

3 years agonewfs_hammer2 - Cleanup slight code mess
Matthew Dillon [Tue, 13 Oct 2020 17:23:56 +0000 (10:23 -0700)]
newfs_hammer2 - Cleanup slight code mess

* Cleanup the use of NLabels in the strlen() tests.

* Require -L labels to not be 0-length, and change the string length
  limit from 64 to 63.  64 should work just fine since we store the
  length field, but its easier to debug with termination.

Reported-by: kHacks
3 years agokernel - Remove unintended debug kprintf() from vfs_mount.c
Matthew Dillon [Tue, 13 Oct 2020 06:38:31 +0000 (23:38 -0700)]
kernel - Remove unintended debug kprintf() from vfs_mount.c

* Remove unintended debug kprintf()

3 years agokernel - Initial commit for Existential structural tracking
Matthew Dillon [Mon, 12 Oct 2020 22:57:46 +0000 (15:57 -0700)]
kernel - Initial commit for Existential structural tracking

* Initial commit for exislock (existance-lock) support, based on
  cpu tick interlocks.  Requires a bit more work.

  (see also previous commit 'Add missing sys/exislock.h' which wasn't
  actually missing at the time).

  This is a type-safe critical section plus a cache-friendly soft-lock
  type for system data structures that allows interlocking against structural
  existance and usability.

  The critical path has no atomic operations or cache ping-ponging.  Cache
  ping-ponging occurs at most once per pseudo_tick (once every 2 real
  ticks) to reset the timeout field.

* Implements a global 'pseudo_ticks' counter.  This counter is only able
  to count when all cpus are armed.  All cpus are armed on every 1->0
  transition of their mycpu->gd_exislockcnt field.  This, while the
  interlock is held, the global pseudo_ticks counter will increment
  by at most one, then stall.

  The cpus are disarmed when this increment occurs on even ticks
  and rearmed (if gd_exislockcnt is 0) on odd ticks.  This the global
  pseudo_ticks counter increments at roughly hz / 2 under most conditions.

  This means that even when the per-cpu type-safe critical section is
  under very heavy load, cycling constantly, the global pseudo_ticks
  still tends to increment on a regular basis becaues there are a lot
  of 1->0 transitions occurring on each cpu.  Importantly, the cpus do
  not need to be synchronized in order for pseudo_ticks to increment.

* This codebase will be used to implement type-safe storage and
  lockless hash-table based caches.  It works like this:

  - You use exis_hold() and exis_drop() around the type-safe
    code sections.

    While held, the global pseudo_ticks variable is guaranteed to
    increment no more than once (due to a prior arming condition).

  - You access the hash table or other robust structural topology
    (with or without locks depending), then call exis_isusable() on
    the structure you get to determine if it is usable.  If TRUE is
    returned, the structure will remain type-safe and will not be
    repurposed for the duration of the exis_hold().

    You then proceed to use the structure as needed, with or without
    further locking depending on what you are doing.  For example,
    accessing stat information from a vnode structure could potentially
    proceed without further locking.

3 years agokernel - Add missing sys/exislock.h
Matthew Dillon [Mon, 12 Oct 2020 21:44:07 +0000 (14:44 -0700)]
kernel - Add missing sys/exislock.h

* Add missing sys/exislock.h

3 years agosys/vfs/hammer2: Remove redundant chain size calculation in hammer2_chain_create()
Tomohiro Kusumi [Mon, 12 Oct 2020 15:32:01 +0000 (00:32 +0900)]
sys/vfs/hammer2: Remove redundant chain size calculation in hammer2_chain_create()

hammer2_chain_alloc() sets ->bytes, so no need to recalculate.
hammer2_chain_alloc() was implemented differently when this was
written in 6934ae32a6b0216475b705fb6831ae2ca9da7672 in 2012.

Also remove obsolete comment from
b7add6753e221920947c96fab3314c39a2f67fe4 in 2015.

3 years agosys/vfs/hammer2: Cleanup static chain function prototypes
Tomohiro Kusumi [Sun, 11 Oct 2020 15:29:24 +0000 (00:29 +0900)]
sys/vfs/hammer2: Cleanup static chain function prototypes

3 years agosys/vfs/hammer2: Remove wrong comment on chain
Tomohiro Kusumi [Sun, 11 Oct 2020 15:12:27 +0000 (00:12 +0900)]
sys/vfs/hammer2: Remove wrong comment on chain

This union was removed in 10252dc74a966f1dbb2cb131b287e03d95807a15 in 2013.

3 years agoNote update to dhcpcd-9.3.1
Roy Marples [Mon, 12 Oct 2020 14:20:37 +0000 (15:20 +0100)]
Note update to dhcpcd-9.3.1

3 years agoMerge branch 'vendor/DHCPCD'
Roy Marples [Mon, 12 Oct 2020 14:19:09 +0000 (15:19 +0100)]
Merge branch 'vendor/DHCPCD'

3 years agoUpdate to dhcpcd-9.3.1 with the following changes:
Roy Marples [Mon, 12 Oct 2020 14:17:22 +0000 (15:17 +0100)]
Update to dhcpcd-9.3.1 with the following changes:
 * dhcpcd: carrier handling issue fixed from 9.3.0
 * dhcpcd: log if interface type is unsupported in debug
 * duid: memory leak fixed if UUID wanted but none available
 * privsep: fix receiving inet and no BPF running
 * privsep: allow gettimeofday for SECCOMP
 * privsep: fix stderr redirection again

3 years agoinstaller: Fix hammer2 install.
Sascha Wildner [Mon, 12 Oct 2020 08:17:38 +0000 (10:17 +0200)]
installer: Fix hammer2 install.

The -f option was removed from newfs_hammer2 in 7b2944d3f07cfec26f629f9e.

Reported-by: zrj
3 years agouname(1): implement -K and -U options
Daniel Fojt [Sun, 11 Oct 2020 13:48:00 +0000 (15:48 +0200)]
uname(1): implement -K and -U options

Add two new options to print version of the running kernel (-K) and
user environment (-U).

Taken from: FreeBSD
Disscussed with: Sascha Wildner, Pierre-Alain TORET

3 years agousr.sbin/fstyp: Test all HAMMER2 volume headers
Tomohiro Kusumi [Sat, 10 Oct 2020 17:30:16 +0000 (02:30 +0900)]
usr.sbin/fstyp: Test all HAMMER2 volume headers

3 years agousr.sbin/fstyp: Fix style
Tomohiro Kusumi [Sat, 10 Oct 2020 15:45:11 +0000 (00:45 +0900)]
usr.sbin/fstyp: Fix style

3 years agosys/vfs/hammer2: Add hammer2_inode_{data,inode}_count()
Tomohiro Kusumi [Fri, 9 Oct 2020 19:32:59 +0000 (04:32 +0900)]
sys/vfs/hammer2: Add hammer2_inode_{data,inode}_count()

Should hide chain details from vnops frontend.

3 years agosys/vfs/hammer2: Remove unused ITOV()
Tomohiro Kusumi [Fri, 9 Oct 2020 17:17:27 +0000 (02:17 +0900)]
sys/vfs/hammer2: Remove unused ITOV()

For inode to vnode, HAMMER2 (and most fs) just use ->vp.

3 years agoUpgrade file(1) and libmagic. 2/2
Daniel Fojt [Sat, 10 Oct 2020 08:26:53 +0000 (10:26 +0200)]
Upgrade file(1) and libmagic. 2/2

Update README.{DELETED,DRAGONFLY} and regenerate config.h.

3 years agoUpgrade file(1) and libmagic. 1/2
Daniel Fojt [Sat, 10 Oct 2020 08:24:20 +0000 (10:24 +0200)]
Upgrade file(1) and libmagic. 1/2

Merge branch 'vendor/FILE' into master.

3 years agovendor/file: upgrade from 5.38 to 5.39
Daniel Fojt [Fri, 9 Oct 2020 16:22:09 +0000 (18:22 +0200)]
vendor/file: upgrade from 5.38 to 5.39

Summary:

- add guid support
- avoid misbehaviour with hand-crafted magic file
- add missing DER types and document DER better in man page
- fix memory leaks

For details, see ChangeLog.

3 years agolibc: Sync wordexp(3) with FreeBSD.
Sascha Wildner [Fri, 9 Oct 2020 19:41:48 +0000 (21:41 +0200)]
libc: Sync wordexp(3) with FreeBSD.

I went and changed freebsd_wordexp() to wordexp2(), though.

Taken-from: FreeBSD

3 years agoSync ACPICA with Intel's version 20200925.
Sascha Wildner [Fri, 9 Oct 2020 18:15:21 +0000 (20:15 +0200)]
Sync ACPICA with Intel's version 20200925.

* Preserve memory opregion mappings.

* Support for SMBUS predefined names.

* Fix some issues in acpiexec(8), acpihelp(8), and iasl(8).

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

3 years agodrm: Fix a locking issue in shmem_read_mapping_page()
François Tigeot [Thu, 8 Oct 2020 18:29:05 +0000 (20:29 +0200)]
drm: Fix a locking issue in shmem_read_mapping_page()

Reported-by: tuxillo
3 years agosys/vfs/hammer2: Make hammer2_dump_chain() a bit more verbose
Tomohiro Kusumi [Thu, 8 Oct 2020 17:46:13 +0000 (02:46 +0900)]
sys/vfs/hammer2: Make hammer2_dump_chain() a bit more verbose

using hammer2(8) "show" format.

3 years agosbin/fsck_hammer2: Support >1 paths
Tomohiro Kusumi [Thu, 8 Oct 2020 16:26:07 +0000 (01:26 +0900)]
sbin/fsck_hammer2: Support >1 paths

3 years agosbin/mount_hammer2: Correct description for -u option
Tomohiro Kusumi [Thu, 8 Oct 2020 15:32:15 +0000 (00:32 +0900)]
sbin/mount_hammer2: Correct description for -u option

This only does upgrading.

3 years agosys/vfs/hammer2: Fix broken mount_hammer2(8) -u option
Tomohiro Kusumi [Wed, 7 Oct 2020 16:42:57 +0000 (01:42 +0900)]
sys/vfs/hammer2: Fix broken mount_hammer2(8) -u option

It fails with EFAULT when copyin-ing NULL volume string.

3 years agosbin/hammer2: "Labels" -> "Label"
Tomohiro Kusumi [Wed, 7 Oct 2020 15:30:07 +0000 (00:30 +0900)]
sbin/hammer2: "Labels" -> "Label"

3 years agosbin/hammer2: Sync "info" output with "pfs-list"
Tomohiro Kusumi [Tue, 6 Oct 2020 16:16:16 +0000 (01:16 +0900)]
sbin/hammer2: Sync "info" output with "pfs-list"

These two retrieve the same info in different ways,
so show the same info instead of "info" just printing PFS label.

3 years agosbin/hammer2: Change "info" callback to take const void*
Tomohiro Kusumi [Tue, 6 Oct 2020 15:42:39 +0000 (00:42 +0900)]
sbin/hammer2: Change "info" callback to take const void*

3 years agosbin/hammer2: Cleanup "info" with cmd_callback typedef
Tomohiro Kusumi [Tue, 6 Oct 2020 15:12:17 +0000 (00:12 +0900)]
sbin/hammer2: Cleanup "info" with cmd_callback typedef

3 years agosys/vfs/hammer2: Remove *pip argument from hammer2_inode_repoint()
Tomohiro Kusumi [Mon, 5 Oct 2020 16:01:18 +0000 (01:01 +0900)]
sys/vfs/hammer2: Remove *pip argument from hammer2_inode_repoint()

Inode no longer has a pointer to its parent since
92e2ca6e34de0686c34f574929b423764f580f9d in 2016,
so no parent argument to repoint (which are NULL's anyway)
needed in hammer2_inode_repoint().

3 years agoUpdate for dhcpcd-9.3.0
Roy Marples [Mon, 5 Oct 2020 16:28:08 +0000 (17:28 +0100)]
Update for dhcpcd-9.3.0

3 years agoMerge branch 'vendor/DHCPCD'
Roy Marples [Mon, 5 Oct 2020 16:24:54 +0000 (17:24 +0100)]
Merge branch 'vendor/DHCPCD'

3 years agoUpdate to dhcpcd-9.3.0 with the following changes:
Roy Marples [Mon, 5 Oct 2020 16:22:25 +0000 (17:22 +0100)]
Update to dhcpcd-9.3.0 with the following changes:
 * dhcpcd: Backticks have been removed from quoting filenames
 * dhcpcd: Only manipulate stdin, stdout and stderr if they are valid
 * duid: Adjust option so the type can be specified
 * logerr: Don't leak logfile fd to scripts
 * privsep: Run the launcher process in the sandbox
 * privsep: getifaddrs now carries ifa_data for BSD
 * BSD: Use `ifi_link_state` as the single source of truth about carrier
 * BSD: Ignore vether(4) devices by default

3 years agosoreadable() should consider so_rerror
Roy Marples [Mon, 5 Oct 2020 08:59:35 +0000 (09:59 +0100)]
soreadable() should consider so_rerror

3 years agosbin/hammer2: Change hammer2_uuid_to_str() to take const pointer
Tomohiro Kusumi [Sun, 4 Oct 2020 21:01:12 +0000 (06:01 +0900)]
sbin/hammer2: Change hammer2_uuid_to_str() to take const pointer

3 years agosbin/hammer2: Add hammer2_pfssubtype_to_str()
Tomohiro Kusumi [Sun, 4 Oct 2020 17:04:48 +0000 (02:04 +0900)]
sbin/hammer2: Add hammer2_pfssubtype_to_str()

3 years agosbin/hammer2: Sort "pfs-list" by PFS label
Tomohiro Kusumi [Sun, 4 Oct 2020 15:42:06 +0000 (00:42 +0900)]
sbin/hammer2: Sort "pfs-list" by PFS label

3 years agosys/vfs/hammer2: Fix wrong comment in hammer2_recovery_scan()
Tomohiro Kusumi [Sat, 3 Oct 2020 19:52:20 +0000 (04:52 +0900)]
sys/vfs/hammer2: Fix wrong comment in hammer2_recovery_scan()

It no longer cares about PFS boundary since
e513e77e7d72a7b81fe5a8e60f5d9511e10af682 in 2015.

3 years agogcc: Allow our C++ headers to survive -Wsystem-headers (2).
Sascha Wildner [Sat, 3 Oct 2020 17:56:19 +0000 (19:56 +0200)]
gcc: Allow our C++ headers to survive -Wsystem-headers (2).

The previous commit (894c19b2d84fd28593ce799678d7d9f7d33936ef) wasn't
actually working because __LONG_LONG_SUPPORTED wasn't yet known.

Include <sys/cdefs.h> for it.

Reported-by: tuxillo
3 years agosbin/hammer2: Adjust "stat" output format
Tomohiro Kusumi [Sat, 3 Oct 2020 15:48:09 +0000 (00:48 +0900)]
sbin/hammer2: Adjust "stat" output format

3 years agosys/vfs/hammer2: Don't expose inode's kva via ioctl
Tomohiro Kusumi [Sat, 3 Oct 2020 16:05:06 +0000 (01:05 +0900)]
sys/vfs/hammer2: Don't expose inode's kva via ioctl

This was just for debugging, and apparently no longer used.

3 years agosys/vfs/hammer2: Adjust some kprintfs in vfsops
Tomohiro Kusumi [Sat, 3 Oct 2020 15:30:09 +0000 (00:30 +0900)]
sys/vfs/hammer2: Adjust some kprintfs in vfsops

3 years agosbin/hammer2: Sync "pfs-create" message format with "pfs-delete"
Tomohiro Kusumi [Fri, 2 Oct 2020 15:19:08 +0000 (00:19 +0900)]
sbin/hammer2: Sync "pfs-create" message format with "pfs-delete"

3 years agosbin/hammer2: Make "pfs-delete" error message handle ENOENT case
Tomohiro Kusumi [Thu, 1 Oct 2020 17:07:25 +0000 (02:07 +0900)]
sbin/hammer2: Make "pfs-delete" error message handle ENOENT case

If all attempts failed before ioctl(HAMMER2IOC_PFS_DELETE) without
valid used_fd, print not-found message rather than just FAILED.

3 years agosys/vfs/hammer2: Make ioctl(HAMMER2IOC_PFS_DELETE) return EBUSY if mounted
Tomohiro Kusumi [Thu, 1 Oct 2020 16:32:07 +0000 (01:32 +0900)]
sys/vfs/hammer2: Make ioctl(HAMMER2IOC_PFS_DELETE) return EBUSY if mounted

Don't let hammer2(8) "pfs-delete" delete a currently mounted PFS...

3 years agoFix typos in libfetch and ext2fs.
Sascha Wildner [Fri, 2 Oct 2020 05:37:20 +0000 (07:37 +0200)]
Fix typos in libfetch and ext2fs.

3 years agosbin/hammer2: Add missing PFS types for "pfs-list"
Tomohiro Kusumi [Wed, 30 Sep 2020 16:47:55 +0000 (01:47 +0900)]
sbin/hammer2: Add missing PFS types for "pfs-list"

Added missing ones, but these two shouldn't match.

3 years agosbin/fsck_hammer2: Fix whitespace in usage output
Tomohiro Kusumi [Wed, 30 Sep 2020 16:44:24 +0000 (01:44 +0900)]
sbin/fsck_hammer2: Fix whitespace in usage output

3 years agosbin/fsck_hammer2: Add -P option to print PFS information
Tomohiro Kusumi [Wed, 30 Sep 2020 16:34:08 +0000 (01:34 +0900)]
sbin/fsck_hammer2: Add -P option to print PFS information

This prints PFS info, in the same format as "pfs-list" in hammer2(8).

The problem with "pfs-list" is it requires HAMMER2 inode, but in order
to mount HAMMER2, PFS label is required. This option provides "pfs-list"
equivalent via block device.

3 years agosys/vfs/hammer2: Make corrupted volume header messages verbose
Tomohiro Kusumi [Tue, 29 Sep 2020 15:11:29 +0000 (00:11 +0900)]
sys/vfs/hammer2: Make corrupted volume header messages verbose

HAMMER2 can be mounted if at least 1 volume header is alive,
but make error messages verbose to indicate corrupted ones on mount.