Commit Graph

19269 Commits

Author SHA1 Message Date
Alfredo Dal'Ava Junior
c3d9c63329 kldxref: add R_PPC64_ADDR64 handler
Implements R_PPC64_ADDR64 handler for kldxref, addressing
"kldxref: unhandled relocation type 38" when running
"kldxref /boot/kernel"

Reviewed by:	jhibbits
MFC after:	1 week
Sponsored by:	Instituto de Pesquisas Eldorado (eldorado.org.br)
Differential Revision:	https://reviews.freebsd.org/D33615
2021-12-27 15:29:50 -03:00
John Baldwin
fa255ab1b8 ctld: Disable -Wcast-align warnings.
clang complains about the downcasts from struct connection to struct
ctld_connection as the alignment of struct ctld_connection is higher
on 32-bit platforms.  However, the warning is in this case harmless as
the downcasts are on objects originally allocated as instances of
struct ctld_connection with suitable alignment.

Reported by:	npn, gjb
Fixes:		6378393308 Add an internal libiscsiutil library.
Sponsored by:	Chelsio Communications
2021-12-22 15:23:45 -08:00
John Baldwin
25700db366 libiscsiutil: Change keys_load/save to operate on data buffers.
This will be used in future changes to support large text requests
spanning multiple PDUs.

Provide wrapper functions keys_load/save_pdu that operate use a PDU's
data buffer.

Reviewed by:	mav
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D33547
2021-12-22 10:43:24 -08:00
John Baldwin
6378393308 Add an internal libiscsiutil library.
Move some of the code duplicated between ctld(8) and iscsid(8) into a
libiscsiutil library.

Sharing the low-level PDU code did require having a
'struct connection' base class with a method table to permit separate
initiator vs target behavior (e.g. in handling proxy PDUs).

Reviewed by:	mav, emaste
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D33544
2021-12-22 10:43:11 -08:00
Emmanuel Vadot
ec0ea6efa1 pkgbase: Add a FreeBSD-pkg-bootstrap package
And put pkg and its keys in it.
It's easier for small image to depend on this package rather than the
larger utilities one.

MFC after:	2 weeks
Sponsored by:	Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D33458
2021-12-21 10:17:48 +01:00
Emmanuel Vadot
380073af3a pkgbase: Put certctl in the FreeBSD-caroot package
There is no reason that this shouldn't be there.
Change the dependency of caroot from utilities to openssl as it's
the only command that it uses not in runtime.

MFC after:	2 weeks
Sponsored by:	Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D33458
2021-12-21 10:17:44 +01:00
Emmanuel Vadot
26ea904caa pkgbase: Create a FreeBSD-newsyslog package
This allow one to install it without having to install FreeBSD-utilities.
While here put some newsyslog.d file in their own package.

MFC after:	2 weeks
Sponsored by:	Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D33456
2021-12-21 10:17:42 +01:00
Emmanuel Vadot
25367c806b pkgbase: Create a FreeBSD-syslogd package
This allow one to not install syslogd and use syslog-ng or any other
syslog daemon.
While here put some syslog.d file in their own package.

MFC after:	2 weeks
Sponsored by:	Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D33455
2021-12-21 10:17:40 +01:00
Emmanuel Vadot
b3d14eaccc pkgbase: Create a FreeBSD-periodic package
While here put the periodic files for some utilities in their own
packages.

MFC after:	2 weeks
Sponsored by:	Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D33454
2021-12-21 10:17:38 +01:00
Emmanuel Vadot
dcf9d46a3f pkgbase: Create a FreeBSD-mtree package
And put the mtree binary and files in it.
Useful to create small mfsroot using /etc/rc.d/var without
having to install FreeBSD-utilities.

MFC after:	2 weeks
Sponsored by:	Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D33442
2021-12-21 10:17:33 +01:00
Emmanuel Vadot
078b764da3 pkgbase: Create a FreeBSD-tcpd package
And put the tcp-wrapper utilities in it.

Reviewed by:	emaste
MFC after:	2 weeks
Sponsored by:	Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D33439
2021-12-21 10:17:31 +01:00
Emmanuel Vadot
93c4369096 pkgbase: Put more binaries/lib in runtime
Move some needed binaries/libs from FreeBSD-utilities to FreeBSD_runtime.
This is everything needed to boot to multiuser with FreeBSD-rc installed.

MFC after:	2 weeks
Sponsored by:	Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D33435
2021-12-21 10:17:27 +01:00
Emmanuel Vadot
eb14f050a3 pkgbase: Put autofs config files in the FreeBSD-autofs package
Reviewed by:	emaste
MFC after:      2 weeks
Sponsored by:   Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D33434
2021-12-21 10:17:25 +01:00
Emmanuel Vadot
5abb10faa1 pkgbase: Put yellow pages programs to its own package
YP is less and less used, split them to users have the choice to not
install them.

MFC after:	2 weeks
Sponsored by:	Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D33441
2021-12-21 10:17:22 +01:00
Peter Wemm
81a48881c6
periodic: Use a deterministic $PATH for periodic.
Various tools can have alternate versions elsewhere, eg: the GNU
mailutils port (a dependency of emacs*) brings /usr/local/bin/mail.
Match the preset PATH in /etc/crontab for deterministic path searches
even when run manually with a different environment.

PR:		259265
Reported by:	iandstanley@gmail.com
2021-12-20 18:54:56 -08:00
Joerg Wunsch
1654b51455
usbconfig: actually set the exit code in usage()
Oversight in previous commit: usage() had been turned to accept
an "exitcode" parameter, but it hasn't been used.

MFC after:	2 weeks
2021-12-20 22:25:19 +01:00
Joerg Wunsch
d69b9cc26d
usbconfig: implement a -v option
Implement a -v option to usbconfig(8), as a shortcut for the most
frequently needed commands dump_device_desc, dump_curr_config_desc,
and show_ifdrv.

While here, implement a real -h option that has been promised by the
man page.

Use <sysexits.h> to declare the utility return codes.

Reviewed by:	hselasky
Differential Revision:	https://reviews.freebsd.org/D33586
MFC after:	2 weeks
2021-12-20 22:08:57 +01:00
Joerg Wunsch
cae1884d47
usbconfig: documentation fixes, mainly for -i option
* in usage(), clearly mark -i interface as optional
* both, -u busnum and -a devaddr are optional as well
* various minor man page fixes
* clearly mark those two commands that actually use -i ifaceidx
* remove unused bitfield tag got_iface
* fix indentation level according to review comment

Differential Revision:	https://reviews.freebsd.org/D33579/
Reviewed by:	hselasky
MFC after:	2 weeks
2021-12-20 12:49:31 +01:00
Joerg Wunsch
ae450e6de9
usbconfig: use getopt(3) for option handling
This makes option handling consistent with other utilities as well as
Posix rules. By that, it's no longer important whether option name and
its argument are separated by a space or not, so -d5.3 works the same
as -d 5.3.

Also, recognize either /dev/ugen or ugen as prefix to the -d argument.

Note that this removes the undocumented feature that allowed to
specify multiple -d n.m options interleaved with commands referring to
that particular device in a single run.
2021-12-20 12:49:30 +01:00
Vitaliy Gusev
d079fc197a bhyve: Only snapshot initialized VirtIO queues
If the virtio device is not fully initialized, then suspend fails with:

  vi_pci_snapshot_queues: invalid address: vq->vq_desc
  Failed to snapshot virtio-rnd; ret=14

MFC after:	1 week
Reviewed by:	jhb
Differential Revision:	https://reviews.freebsd.org/D26268
2021-12-17 13:06:53 -05:00
Alfonso Siciliano
be0236ebd8 tzsetup: Fix unicode support
Differential revision:	https://reviews.freebsd.org/D33532
2021-12-17 09:25:07 +01:00
Emmanuel Vadot
9935b0e8ea bsdinstall: zfsboot: Prompt user for zpool name if the pool already exists
If one install FreeBSD on multiple disks (say 13 and CURRENT) the first created
pool will always be used.
Prompt the user for a new pool name if we detect that the default or supplied one
already exists.

Reviewed by:	imp
MFC after:      2 weeks
Sponsored by:   Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D33331
2021-12-15 15:24:07 +01:00
Emmanuel Vadot
40c928e7b8 bsdinstall: bootconfig: Try to clean old efi boot entries
If one install FreeBSD on the same machine multiple times in a row or
on different harddrive they have a lot of 'FreeBSD' efi boot entries added.
With this patch we now do :
- If there is no 'FreeBSD' entry we add one like before
- If there is one or more entries we ask the user if they want to delete
  them all and add a new one
  - If they say yes we do that
  - If they say no we prompt them an inputbox so they can enter a different
    entry name if they want, it defaults to 'FreeBSD'

Reviewed by:	bapt, imp
MFC after:	2 weeks
Sponsored by:	Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D33330
2021-12-15 15:23:27 +01:00
Chuck Tuffli
cf3ed8e0cd bhyve nvme: Inform guests of namespace resize
Register a "block resize" callback to be notified of changes to the
backing storage for the Namespace. Use this to generate an Asynchronous
Event Notification, Namespace Attributes Changed when the guest OS
provides an Asynchronous Event Request.

MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D32953
2021-12-14 23:17:55 -08:00
Chuck Tuffli
9f1fa1a461 bhyve nvme: Add AEN support to NVMe emulation
Add Asynchronous Event Notification infrastructure to the NVMe
emulation.

Reviewed by:	imp, grehan
MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D32952
2021-12-14 23:16:49 -08:00
Warner Losh
574763f1a7 rtsold: Note network interfaces changing index when removed/inserted
Remove reference to PCMCIA. The issue is more generic than that. Also,
it does apply to FreeBSD, so no need to hedge about some OSes. The index
won't change if no other interfaces are created after the card is
removed, so note that it may change, not will change.

Suggested by:	phk
Reviewed by:	gleb
Sponsored by:	Netflix
2021-12-14 15:27:47 -07:00
Alfonso Siciliano
1de4665dfc kbdmap: adapt to the new libbsddialog API
Differential Revision:	https://reviews.freebsd.org/D33398
2021-12-13 09:08:09 +01:00
Alfonso Siciliano
0a7e19b30f tzsetup: adapt for libbsddialog 0.0.1
libbsdialog 0.0.1 provides:
* bsddialog_conf.auto_minwidth:
* menurows is variable with autosize (properly defines max menurows)

Then tzsetup can use BSDDIALOG_AUTOSIZE keeping the dialog behavior:
min 24 cols, max 16 menurows

Differential revision:	https://reviews.freebsd.org/D33397
2021-12-13 09:07:47 +01:00
Robert Wing
0b29683b32 bhyve: set EV_CLEAR for EVFILT_VNODE mevents
When an EVFILT_VNODE filter event is triggered, reset it.

This fixes the issue where a virtio-blk resize event would cause the
mevent thread to consume 100% of the cpu.

Reviewed by:	jhb
Differential Revision:	https://reviews.freebsd.org/D33326
2021-12-12 12:39:40 -09:00
Rebecca Cran
866036f46c bhyve: Support a _VARS.fd file for bootrom
OVMF creates two separate .fd files, a _CODE.fd file containing
the UEFI code, and a _VARS.fd file containing a template of an
empty UEFI variable store.

OVMF decides to write variables to the memory range just below the
boot rom code if it detects a CFI flash device. So here we add
just the barest facsimile of CFI command handling to bootrom.c
that is needed to placate OVMF.

Submitted by: D Scott Phillips <d.scott.phillips@intel.com>
Sponsored by: Intel Corporation
Differential Revision: https://reviews.freebsd.org/D19976
MFC After: 1 week
2021-12-12 08:07:27 -07:00
Florian Walpen
a9545eede4 Add idle priority scheduling privilege group to MAC/priority
Add an idletime user group that allows non-root users to run processes
with idle scheduling priority. Privileges are granted by a MAC policy in
the mac_priority module. For this purpose, the kernel privilege
PRIV_SCHED_IDPRIO was added to sys/priv.h (kernel module ABI change).

Deprecate the system wide sysctl(8) knob
security.bsd.unprivileged_idprio which lets any user run idle priority
processes, regardless of context. While the knob is still working, it is
marked as deprecated in the description and in the man pages.

MFC after:	2 weeks
Differential revision:	https://reviews.freebsd.org/D33338
2021-12-10 04:54:48 +02:00
Emmanuel Vadot
547fc67fec tzsetup: Default to UTC
Restore old behavior.

Fixes:	f872dde34c ("tzsetup: replace libdialog with libbsddialog")

Reviewed by:	bapt
Differential Revision:	https://reviews.freebsd.org/D33334
Sponsored by:	Beckhoff Automation GmbH & Co. KG
2021-12-08 14:39:00 +01:00
Mateusz Piotrowski
648b9ce80e inetd: Use the synopsis from the manual page
Also, document -s in the usage message.

MFC after:	7 days
2021-12-06 22:15:19 +01:00
Mateusz Piotrowski
593ad024e4 inetd.8: Sort options
While here:

- Cluster flags without arguments together.
- Simplify the synopsis of the -a flag. There is no need to distinguish
  between address and hostname there.
- Add a missing argument to the -a flag in the description section.
- Fix some typos.

MFC after:	3 days
2021-12-06 22:15:19 +01:00
Mateusz Piotrowski
aab6fe0c2c inetd.8: Lint the file
Remove Tn macros and fix other style warnings.

MFC after:	3 days
2021-12-06 22:15:18 +01:00
Robert Wing
2616ee608c bhyve: fix -Wunused-but-set-variable warning
Reviewed by:	markj
Differential Revision:	https://reviews.freebsd.org/D33306
2021-12-06 10:52:08 -09:00
Baptiste Daroussin
998959cd61 kbdmap: adapt to the new bsddialog api 2021-12-06 13:58:25 +01:00
Baptiste Daroussin
f499134dd4 bsddialog: import snapshot 2021-12-05 2021-12-06 11:43:34 +01:00
Florian Walpen
bf2fa8d9d1 MAC/priority module for realtime privilege group
This is a MAC policy module that grants scheduling privileges based on
group membership.  Users or processes in the group realtime (gid 47) are
allowed to run threads and processes with realtime scheduling priority.
For timing-sensitive, low-latency software like audio/jack, running with
realtime priority helps to avoid stutter and gaps.

PR:	239125
MFC after:	2 weeks
Differential revision:	https://reviews.freebsd.org/D33191
2021-12-04 20:19:25 +02:00
Michael Tuexen
c2b53b107e tcpdrop: tweak comments
MFC after:	1 week
Sponsored by:	Netflix, Inc.
2021-12-04 15:08:01 +01:00
Michael Tuexen
8ea363c8c6 tcpdrop: explicitly choose TCP as the transport protocol
MFC after:	1 week
Sponsored by:	Netflix, Inc.
2021-12-04 15:03:29 +01:00
Michael Tuexen
31537ea583 tcpdrop: allow TCP connections to be filtered by cc-algo
In addition to filtering by stack and state, allow filtering
by the congestion control module used.  Choose the command line
options to be consistent with the ones of sockstat.

MFC after:	1 week
Sponsored by:	Netflix, Inc.
2021-12-04 15:02:15 +01:00
Michael Tuexen
7ef45bd3cf tcpdrop: update man page, since the fastack stack has been removed
MFC after:	1 week
Sponsored by:	Netflix, Inc.
2021-12-04 14:27:46 +01:00
Michael Tuexen
300914a0ff tcpdrop: use a better name of a variable.
No functional change intended.

MFC after:	1 week
Sponsored by:	Netflix, Inc.
2021-12-04 13:48:41 +01:00
Warner Losh
cbe9faa50b Remove DS_BUSY case
DS_BUSY is no longer a device state. Remove it from here.

Sponsored by:		Netflix
2021-11-30 16:35:48 -07:00
Chuck Tuffli
d8c1d7b652 bhyve blockif: fix blockif_candelete with Capsicum
NVMe conformance tests for the Format command failed if the
backing-storage for the bhyve device was a file instead of a Zvol. The
tests (and the specification) expect a Format to destroy all previously
written data. The bhyve NVMe emulation implements this by trimming /
deallocating all data from the backing-storage.

The blockif_candelete() function indicated the file did not support
deallocation (i.e. fpathconf(..., _PC_DEALLOC_PRESENT) returned FALSE)
even though the kernel supported file hole punching. This occurs on
builds with Capsicum enabled because blockif did not allow the
fpathconf(2) right.

Fix is to add CAP_FPATHCONF to the cap_rights_init(3) call.

PR:		260081
Reviewed by:	allanjude, markj, jhb
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D33203
2021-11-30 21:49:34 -08:00
Alexander Motin
f5b0083302 mpsutil: Fix data truncation by too short buffers.
Length of some string buffers was insufficient for cases of more that
99 targets per HBA or slots per enclosure.  Some others are tuned just
for better alignment.  While there also fix output formatting issues.

MFC after:	1 week
Sponsored by:	iXsystems, Inc.
2021-11-29 20:20:03 -05:00
Fernando Apesteguía
df90aeac24 Fix build with -DNO_ROOT
The inclusion of 0a0f748641 broke the build with the -DNO_ROOT option.
Specifically, that commit adds some relative paths (with `..`) to METALOG
that make other tools using that log, fail afterwards (tar, makefs...).

It's been argued[1] if this is really something mtree(8) should handle more
graciously. In the meantime, fix the breakage but changing the order in which
the links are created: first in the parent directory, then in the
architecture-specific one.

We keep the architecture-specific directories an the links to the parent
directories. This is something that we might want to change in the future.

This commit is based on a concept patch by avg@.

[1] https://lists.freebsd.org/archives/dev-commits-src-all/2021-November/index.html

Reported by: bapt@, emaste@
Approved by: avg@
Fixes: 0a0f748641
Differential Revision: https://reviews.freebsd.org/D33126
2021-11-26 12:51:08 +01:00
Alfredo Dal'Ava Junior
b6644f529c powerpc64: make autoboot possible on powernv machines
It's required to specify a default boot option in order to make
petitboot's autoboot feature work.

Tested on Raptor Blackbird

Reviewed by:	imp, luporl
MFC after:	2 days
Sponsored by:	Instituto de Pesquisas Eldorado (eldorado.org.br)
Differential Revision:	https://reviews.freebsd.org/D32838
2021-11-25 21:02:53 -03:00
Baptiste Daroussin
7d51283f70 partedit: cleanup headers
Removed dialog.h where not needed and include headers actually used
2021-11-24 12:06:34 +01:00