270763 Commits

Author SHA1 Message Date
Dimitry Andric
da2012af42 Revert clang change that breaks CTF on aarch64
Revert commit e655e74a318e from llvm git (by Peter Collingbourne):

  AST: Create __va_list in the std namespace even in C.

  This ensures that the mangled type names match between C and C++,
  which is significant when using -fsanitize=cfi-icall. Ideally we
  wouldn't have created this namespace at all, but it's now part of
  the ABI (e.g. in mangled names), so we can't change it.

  Differential Revision: https://reviews.llvm.org/D104830

As reported by Jessica in https://reviews.llvm.org/D104830#3129527, this
upstream change is implemented in such a way that it breaks DTrace's
CTF. Since a proper fix has not yet been forthcoming, and we are
unaffected by the (CFI-related) problem upstream was trying to address,
revert the change for now.

Requested by:	jrtc27
MFC after:	3 days
2021-12-12 21:11:40 +01:00
Konstantin Belousov
73b357be92 amd64: correct size of the SSE area in the xsave layout
PR:	https://github.com/golang/go/issues/46272
Reviewed by:	emaste
Sponsored by:	The FreeBSD Foundation
MFC after:	3 days
2021-12-12 20:20:31 +02:00
Konstantin Belousov
e499988f0c exec_elf: use intermediate u_long variable to correct mismatched type
vm_offset_t * vs. u_long *

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2021-12-12 20:07:04 +02: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
Konstantin Belousov
bf83941638 imgact_elf: avoid mapsz overflow
Reported and tested by:	pho
Reviewed by:	markj
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D33359
2021-12-12 16:28:39 +02:00
Konstantin Belousov
36df8f540f imgact_elf: check that the alignment of PT_LOAD segment is power of two
and stop recalculating alignment for PIE base, which was off by one
power of two.

Suggested and reviewed by:	markj
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D33359
2021-12-12 16:28:38 +02:00
Konstantin Belousov
714d6d09b5 imgact_elf: exclude invalid alignment requests
Only accept at most superpage alignment, or if the arch does not have
superpages supported, artificially limit it to PAGE_SIZE * 1024.
This is somewhat arbitrary, and e.g. could change what binaries do
we accept between native i386 vs. amd64 ia32 with superpages disabled,
but I do not believe the difference there is affecting anybody with
real (useful) binaries.

Reported and tested by:	pho
Reviewed by:	markj
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D33359
2021-12-12 16:28:38 +02:00
Konstantin Belousov
a4007ae10c rnd_elf: add comment explaining the interface
Requested and reviewed by:	markj
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D33359
2021-12-12 16:28:38 +02:00
Konstantin Belousov
9cf78c1cf6 elf image activator: convert asserts into errors
Invalid (artificial) layout of the loadable ELF segments might result in
triggering the assertion.  This means that the file should not be
executed, regardless of the kernel debug mode.  Change calling
conventions for rnd_elf{32,64} helpers to allow returning an error, and
abort activation with ENOEXEC if its invariants are broken.

Reported and tested by:	pho
Reviewed by:	markj
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D33359
2021-12-12 16:28:38 +02:00
Konstantin Belousov
b4b20492cd exec_elf: assert that the image vnode is still locked on return
Suggested and reviewed by:	markj
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D33359
2021-12-12 16:28:38 +02:00
Konstantin Belousov
88dd7a0a39 Style
Reviewed by:	markj
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D33359
2021-12-12 16:28:38 +02:00
Rick Macklem
ead50c94cb nfscl: Fix must_commit/writeverf handling for Direct I/O
Without this patch, the KASSERT(must_commit == 0,..) can be
triggered by the writeverf in the Direct I/O write reply changing.
This is not a situation that should cause a panic(). Correct
handling is to ignore the change in "writeverf" for Direct
I/O, since it is done with NFSWRITE_FILESYNC.

This patch modifies the semantics of the "must_commit"
argument slightly, allowing an initial value of 2 to indicate
that a change in "writeverf" should be ignored.
It also fixes the KASSERT()s.

This bug would affect few, since Direct I/O is not enabled
by default and "writeverf" rarely changes. Normally "writeverf"
only changes when a NFS server reboots, however I found the
bug when testing against a Linux 5.15.1 kernel nfsd, which
replied to a NFSWRITE_FILESYNC write with a "writeverf" of all
0x0 bytes.

MFC after:	2 weeks
2021-12-11 15:00:30 -08:00
Toomas Soome
6102f43cf0 loader: framebuffer should only be written into
Reading from Write Combining memory can be very-very slow. Try to use
shadow buffer to avoid such reads.

MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D33305
2021-12-11 13:25:35 +02:00
Peter Holm
faa3605705 stress2: Remove tests from the exclude list 2021-12-11 10:45:11 +00:00
Peter Holm
a724ccf354 stress2: Disable aslr for this test to work 2021-12-11 10:43:30 +00:00
Peter Holm
8ebc232561 stress2: Save a copy of the program file for regression tests
Suggested by:	 kib
2021-12-11 06:07:04 +00:00
Cy Schubert
664882ab16 ip_log: remove set-but-not-unused vars
MFC after:	3 days
2021-12-10 21:52:54 -08:00
Cy Schubert
2169572e74 ippool: remove set-but-not-unused vars
Display of stats from a kernel core dump was never fully implemented.
Remove the dangling vars and remove the documentation.

MFC after:	3 days
2021-12-10 21:52:54 -08:00
Cy Schubert
fe5b077c9e ipfcomp: remove set-but-not-unused vars
MFC after:	3 days
2021-12-10 21:52:54 -08:00
Cy Schubert
edcdd4f644 ipfilter printfieldhdr: remove set-but-not-unused vars
MFC after:	3 days
2021-12-10 21:52:54 -08:00
Cy Schubert
9018f7fa45 ipft_tx: remove set-but-not-unused vars
MFC after:	3 days
2021-12-10 21:52:54 -08:00
Cy Schubert
712b938661 ipft_pc: remove set-but-not-unused vars
MFC after:	3 days
2021-12-10 21:52:54 -08:00
Cy Schubert
ece1946c1f ipft_hx: remove set-but-not-unused vars
MFC after:	3 days
2021-12-10 21:52:53 -08:00
Alexander Motin
81dc00331d Make msgbuf_peekbytes() not return leading zeroes.
Introduce new MSGBUF_WRAP flag, indicating that buffer has wrapped
at least once and does not keep zeroes from the last msgbuf_clear().
It allows msgbuf_peekbytes() to return only real data, not requiring
every consumer to trim the leading zeroes after doing pointless copy.
The most visible effect is that kern.msgbuf sysctl now always returns
proper zero-terminated string, not only after the first buffer wrap.

MFC after:	1 week
Sponsored by:	iXsystems, Inc.
2021-12-10 23:35:53 -05:00
Eugene Grosbein
7a382e744b if_epair: fix module build outside of kernel build environment
MFC after:	3 days
2021-12-11 11:07:50 +07:00
Mateusz Piotrowski
479ea5cf2d rc.conf.5: Fix a typo 2021-12-10 23:37:40 +01:00
Mateusz Guzik
dd2f6e14ef vfs: annotate all unused MNTK_ flags 2021-12-10 20:06:28 +00:00
Mateusz Guzik
4dd23ae150 vfs: retire MNTK_NOKNOTE and VV_NOKNOTE
MNTK_NOKNOTE was introduced in 679985d03a64f5dfb4355538ae6e3b70f8347f38
(dated 2005), VV_NOKNOTE in 34cc826ae8999f454dd6cb9c77d17ce83b169f92 few
months later.

Neither was ever used by anything in the tree.
2021-12-10 19:53:57 +00:00
Bora Özarslan
08055452cb libkvm: fix kvm_walk_pages
Correct bitmap operations in _kvm_bitmap_next.

Reviewed by:	jhb
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D19183
2021-12-10 14:15:15 -05:00
Warner Losh
4dbc7835cd mips: Turn off LLVM MIPS targets by default
Now that MIPS isn't a recognized target for buildworld, move llvm mips
to off by default.

Sponsored by:		Netflix
Reviewed by:		dim
Differential Revision:	https://reviews.freebsd.org/D33364
2021-12-10 11:31:07 -07:00
Warner Losh
20b23ae74b stand: remove mips support
As part of decommissioning mips support, remove the boot loader
support. Do this in advance of other boot loader work to limit the
amount of work that will be thrown away.

Sponsored by:		Netflix
Reviewed by:		jrtc27
Differential Revision:	https://reviews.freebsd.org/D33377
2021-12-10 11:05:31 -07:00
Warner Losh
2220b759d6 loader.mk: Simplify a little bit
The elf loader needs to know how to reach into the gfx_fb code, so
simplify how we include files to find that stuff.

Sponsored by:		Netflix
Reviewed by:		manu, tsoome
Differential Revision:	https://reviews.freebsd.org/D33376
2021-12-10 11:04:37 -07:00
Warner Losh
0adb238d20 hdda: Remove extra topo_unlock
Reported by:	Taku YAMAMOTO
Sponsored by:	Netflix
2021-12-10 10:01:21 -07:00
Hubert Mazur
3662b8f1cf pcf85063: Fix real time clock
Previosuly real time clock driver always set time format to 12-hour
mode. Fix this by choosing hour mode depending on HW register.
2021-12-10 17:09:29 +01:00
Mateusz Piotrowski
58d60030ff gmultipath.8: Fix a typo
It's Word Wide Port Name, not World Word Port Name.

MFC after:	3 days
2021-12-10 14:33:34 +01:00
Andrew Turner
36499dc789 Fix a set but not used warning in the arm GIC driver
Sponsored by:	Innovate UK
2021-12-10 13:29:11 +00:00
Andrew Turner
2b556942cc Fix set but not used warnings in arm64 rockchip
Reviewed by:	manu, mmel
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D33372
2021-12-10 13:29:11 +00:00
Mateusz Guzik
8117f96f24 bxe: plug some of set-but-not-used vars
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2021-12-10 12:19:16 +00:00
Andrew Turner
5b616dafac Fix set but not used warnings in arm64 core code 2021-12-10 12:10:30 +00:00
Andrew Turner
1c643b721b Fix a set but not used warning in the arm64 pmap
In pmap_ts_referenced we read the virtual address from pv->pv_va,
but then continue to use the pv struct to get the same value later
in the function.

Use the virtual address value we initially read rather than loading
from the pv struct each time.
2021-12-10 12:10:30 +00:00
Mateusz Guzik
a0f49d6768 hn: plug set-but-not-unused vars
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2021-12-10 12:09:26 +00:00
Mateusz Guzik
a036d73e8f ctl: plug set-but-not-unused var
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2021-12-10 12:06:48 +00:00
Mateusz Guzik
8f3562e2ca bfe: plug a set-but-not-unused var
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2021-12-10 12:02:05 +00:00
Mateusz Guzik
ceed3949bc x86: plug a set-but-not-unused var in native_lapic_ipi_free
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2021-12-10 11:55:03 +00:00
Mateusz Guzik
bc02034cca nfe: plug set-but-not-unused vars
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2021-12-10 11:53:38 +00:00
Mateusz Guzik
7bc6619013 alc: plug set-but-not-unused vars
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2021-12-10 11:48:42 +00:00
Mateusz Guzik
e02d0cab7b asmc: plug set-but-not-unused vars
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2021-12-10 11:45:36 +00:00
Jessica Clarke
fa5af3219f xdma: Fix another -Wunused-but-set-variable warning previously missed
MFC after:	1 week
2021-12-10 05:06:54 +00:00
Jessica Clarke
434cb1c4a6 riscv: Fix PLIC -Wunused-but-set-variable warnings 2021-12-10 04:51:32 +00:00
Jessica Clarke
d90c3b51cc xdma: Fix -Wunused-but-set-variable warnings
MFC after:	1 week
2021-12-10 04:48:51 +00:00