Provide user interface to retrieve reported extended errors
Reviewed by: brooks
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
Differential revision: https://reviews.freebsd.org/D50483
sysconf(3): add _SC_UEXTERR_LEN, the max length of the extended error string
Reviewed by: brooks
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
Differential revision: https://reviews.freebsd.org/D50483
vm/vm_mmap.c: add two examples of using exterrors
Reviewed by: brooks
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
Differential revision: https://reviews.freebsd.org/D50483
kernel: copyout extended errors to userspace and add exterrctl(2) to control it
Reviewed by: brooks
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
Differential revision: https://reviews.freebsd.org/D50483
sound: Deprecate the MIDI sequencer
The in-kernel MIDI sequencer is not used anymore, since this is done by
userland applications nowadays. It also contains bugs, and we are not
exactly sure how it works, or if it worked properly in the first place.
Sponsored by: The FreeBSD Foundation
MFC after: 1 day
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D50606
(cherry picked from commit 799105f53a9647f86dbf08456260d5850851b6f9)
vm_page: use lookup_ge in grab_valid_iter()
To improve performance slightly, use vm_radix_iter_lookup_ge to skip
over several missing pages at once in grab_valid_iter().
Fix a case in which the function could return with the iterator
argument not reset after a lock release/reacquire.
Reviewed by: alc, markj
Differential Revision: https://reviews.freebsd.org/D50601
cp: Improve to_root test case.
Since the bug we're testing involved path name construction, we don't
need to be root to test it; we can simply check the error message.
Fixes: 537fbf70f12b
Sponsored by: Klara, Inc.
Reviewed by: allanjude
Differential Revision: https://reviews.freebsd.org/D50628
netcat: Allow service names to be used.
Someone should really do a vendor import, but it's non-trivial, as we
have local modifications. In the meantime, here's a nine-year-old
upstream patch which allows service names to be used instead of port
numbers.
MFC after: 1 week
Obtained from: OpenBSD
Reviewed by: allanjude
Differential Revision: https://reviews.freebsd.org/D50348
vm_pageout: fix pageout_flush
A change just made to vm_pageout_flush wrongly dismissed the variable
'runlen' and used 'count' in its place, with the unintended
consequence of terminating the main loop of the function prematurely
when the first VM_PAGER_AGAIN pageout status was encountered.
Reintroduce that variable, so that the loop runs to completion.
Reported by: alc
Reviewed by: alc
Fixes: f2a193a967e3 ("vm_pageout: reduce number of flush() params")
Differential Revision: https://reviews.freebsd.org/D50622
amd64: set PCB_TLSBASE pcb flag only for new C runtime threads
where the runtime does want the pcb_tlsbase to be set in fsbase in
signal handlers. This way, other runtimes that are not aware of
pcb_tlsbase get the old behavior of preserving fsbase on calling signal
handler.
For instance, this fixes Go runtime that wants to handle fsbase in its
own way.
Reported by: Herbert J. Skuhra <herbert at gojira.at>
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
libpam: Additional module directory.
Many if not most ports that install PAM modules install them into
${LOCALBASE}/lib/security instead of just ${LOCALBASE}/lib, because
all the world is Linux. Rather than try to fix the ports, add that
directory to the search path.
MFC after: 1 week
Relnotes: yes
Reviewed by: delphij
Differential Revision: https://reviews.freebsd.org/D50626
atf: Don't be deterred by weird umasks.
If the current umask is weird, ATF goes to great lengths to tell us that
it can't possibly work in these conditions, instead of just dealing with
it. This makes it unreasonably hard to use ATF to test how our own code
handles unusual umasks.
MFC after: 1 week
Sponsored by: Klara, Inc.
Reviewed by: igoro, kevans, ngie
Differential Revision: https://reviews.freebsd.org/D50267
(cherry picked from commit 1a6a36a98ad5dc86862541b91686b00cf88e9f76)
atf, kyua: Implement require.kmods.
This adds a metadata variable, require.kmods, and corresponding functions
or methods in C, C++, and shell, which allow a test to specify that it
requires particular kernel modules to run. If the kernel modules are not
present, the test is skipped. One might want to consider a kyua option
which makes it attempt to load the modules instead.
Differential Revision: https://reviews.freebsd.org/D47470