]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
4 years agoMakefile.inc1: remove old (2018) stale dependency hacks
emaste [Tue, 24 Mar 2020 21:37:34 +0000 (21:37 +0000)]
Makefile.inc1: remove old (2018) stale dependency hacks

We handle a number of stale dependency issues on an ad-hoc basis, in
order to support ongoing NO_CLEAN builds.  These hacks do not need to
be maintained indefinitely; now remove those for issues that are more
than a year old.

Sponsored by: The FreeBSD Foundation

4 years agoichwd: Add Atom C3000 watchdog ID.
jhibbits [Tue, 24 Mar 2020 21:28:48 +0000 (21:28 +0000)]
ichwd: Add Atom C3000 watchdog ID.

MFC after: 3 days
Sponsored by: Juniper Networks, Inc

4 years agoexec{l,v}{e,p} arrived in 7th Edition research Unix to support the Bourne Shell
imp [Tue, 24 Mar 2020 19:33:21 +0000 (19:33 +0000)]
exec{l,v}{e,p} arrived in 7th Edition research Unix to support the Bourne Shell
which introduced environment variables. Document that here. Verified by
consulting the TUHS archive.

4 years agoFix PNP matching for iflib NIC drivers
cem [Tue, 24 Mar 2020 19:20:10 +0000 (19:20 +0000)]
Fix PNP matching for iflib NIC drivers

The previous descriptor string specified that all fields were significant for
match.  However, the only significant fields for in-tree drivers are
vendor:devid, and the fictitious zero values constructed by PVID() did not
match real subvendor, subdevice, revision, and/or class values, resulting in no
automatic probe.

If a future iflib driver needs to match on other criteria, the descriptor
string can be updated accordingly.  (E.g., "V32" and ~0 for unspecified values
in PVID().)

Reported by: mav
Sponsored by: Dell EMC Isilon

4 years agoCorrect path in EXAMPLES ypldap.conf.5
carlavilla [Tue, 24 Mar 2020 19:12:28 +0000 (19:12 +0000)]
Correct path in EXAMPLES ypldap.conf.5

PR: 244743
Submitted by: alex@i.org.ua
Patch by: alex@i.org.ua
Approved by: bcr@(mentor), 0mp
MFC after: 1 day
Differential Revision: https://reviews.freebsd.org/D24144

4 years agoRemove the secondary_stacks array in arm64 and riscv kernels.
markj [Tue, 24 Mar 2020 18:43:23 +0000 (18:43 +0000)]
Remove the secondary_stacks array in arm64 and riscv kernels.

Instead, dynamically allocate a page for the boot stack of each AP when
starting them up, like we do on x86.  This shrinks the bss by
MAXCPU*KSTACK_PAGES pages, which corresponds to 4MB on arm64 and 256KB
on riscv.

Duplicate the logic used on x86 to free the bootstacks, by using a
sysinit to wait for each AP to switch to a thread before freeing its
stack.

While here, mark some static MD variables as such.

Reviewed by: kib
MFC after: 1 month
Sponsored by: Juniper Networks, Klara Inc.
Differential Revision: https://reviews.freebsd.org/D24158

4 years agoismt: Fix ISMT_DESC_ADDR_RW macro, slave addresses are already left-shifted
jhibbits [Tue, 24 Mar 2020 18:35:33 +0000 (18:35 +0000)]
ismt: Fix ISMT_DESC_ADDR_RW macro, slave addresses are already left-shifted

Reverts r293369.  The macro was orginally correct, since our SMBus
framework, unlike i2c, already requires addresses to be 8-bit, LSB-cleared.

MFC after: 3 days
Sponsored by: Juniper Networks, Inc

4 years agonewsyslog: Add fallthrough comments to appease Coverity.
markj [Tue, 24 Mar 2020 18:17:10 +0000 (18:17 +0000)]
newsyslog: Add fallthrough comments to appease Coverity.

CID: 100816510081661008167
MFC after: 1 week
Sponsored by: The FreeBSD Foundation

4 years agoAdd regression tests for newsyslog.conf's p flag.
markj [Tue, 24 Mar 2020 18:16:56 +0000 (18:16 +0000)]
Add regression tests for newsyslog.conf's p flag.

While here do a bit of cleanup:
- declare local variables as such,
- make tmpdir_create() clean up logfile directories, to handle a
  previously interrupt test run more gracefully.

MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation

4 years agonewsyslog: Fix stack corruption when initializing a zipwork structure.
markj [Tue, 24 Mar 2020 18:16:36 +0000 (18:16 +0000)]
newsyslog: Fix stack corruption when initializing a zipwork structure.

This happens when compressing a previously uncompressed already-rotated
file, as happens when handling the 'p' flag in newsyslog.conf.  The file
name is stored in a flexible array member, so these structures cannot be
stack allocated.

Also make sure that we call change_attrs() and do_zipwork() in dry-run
mode; they handle this properly, contrary to the commit log message for
r327451.

CID: 1008168
Github PR: https://github.com/freebsd/freebsd/pull/427
MFC after: 2 weeks
Submitted by: Radek Brich (original version)

4 years agoDisable rarely used architecture variants in make universe by default.
jhb [Tue, 24 Mar 2020 18:16:02 +0000 (18:16 +0000)]
Disable rarely used architecture variants in make universe by default.

If EXTRA_TARGETS is defined, build all supported architecture
variants.  By default, build architecture variants needed to provide
code coverage or that are commonly used.

Use this to disable building of all the hard-float and little-endian
MIPS architecture variants along with n32 by default.

Reviewed by: rpokala
Discussed with: imp, emaste
Differential Revision: https://reviews.freebsd.org/D24178

4 years agoiflib: simplify MPASS assertion
emaste [Tue, 24 Mar 2020 17:54:34 +0000 (17:54 +0000)]
iflib: simplify MPASS assertion

Submitted by: andrew

4 years agoiflib: split compound assertion
emaste [Tue, 24 Mar 2020 17:25:56 +0000 (17:25 +0000)]
iflib: split compound assertion

ThunderX cluster systems are panicking on boot with a failed assertion
MPASS(gtask != NULL && gtask->gt_taskqueue != NULL).  Split the
assertion so that it's clear which part is failing.

4 years agokern_copy_file_range(): check the file type.
kib [Tue, 24 Mar 2020 17:16:52 +0000 (17:16 +0000)]
kern_copy_file_range(): check the file type.

The syscall can only operate on valid vnode types.

Reported and tested by: pho
Sponsored by: The FreeBSD Foundation

4 years agoUse IP_FW_NAT44_DESTROY opcode for IP_FW3 socket option to destroy
ae [Tue, 24 Mar 2020 12:27:02 +0000 (12:27 +0000)]
Use IP_FW_NAT44_DESTROY opcode for IP_FW3 socket option to destroy
NAT instance.

The NAT44 group of opcodes for IP_FW3 socket option is modern way
to control NAT instances and this method can be used in future to
switch from numeric to named NAT instances, like was done for ipfw
tables.
The IP_FW_NAT_DEL opcode is the last remnant of old ipfw_ctl control
plane that doesn't support versioned operations. This interface will
be retired soon.

Reviewed by: melifaro
MFC after: 10 days
Sponsored by: Yandex LLC

4 years agoauditdistd: Remove useless linking with libl
manu [Tue, 24 Mar 2020 07:08:39 +0000 (07:08 +0000)]
auditdistd: Remove useless linking with libl

4 years agorescue: Remove useless linking with libl
manu [Tue, 24 Mar 2020 07:08:02 +0000 (07:08 +0000)]
rescue: Remove useless linking with libl

4 years agoRevert r359267.
manu [Tue, 24 Mar 2020 01:29:18 +0000 (01:29 +0000)]
Revert r359267.
This is not the correct solution and I should have done a clean buildworld.

4 years agobsd.lib.mk: Do not include bsd.incs.mk for INTERNALLIB
manu [Tue, 24 Mar 2020 01:09:04 +0000 (01:09 +0000)]
bsd.lib.mk: Do not include bsd.incs.mk for INTERNALLIB

If we're building an internal lib do not bother including bsd.incs.mk so we
will not install the headers.
This also "solves" a problem with pkgbase where a libXXX-development package
is created and due to how packages are created we add a dependency to a
libXXX package that doesn't exists.

Reported by: pizzamig
Reviewed by: pizzamig bapt emaste
Differential Revision: https://reviews.freebsd.org/D24166

4 years agopkgbase: Move telnetd and ftpd pam file to the utilities package
manu [Tue, 24 Mar 2020 01:08:06 +0000 (01:08 +0000)]
pkgbase: Move telnetd and ftpd pam file to the utilities package

Both programs are in this package so put the pam.d file in there too.

Reported by: emaste
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D24161

4 years agopkgbase: Move device.hints from the runtime to the bootloader package
manu [Tue, 24 Mar 2020 01:07:01 +0000 (01:07 +0000)]
pkgbase: Move device.hints from the runtime to the bootloader package

Also mark it as config file so if a user changes this file pkg will attempt
to merge the new file upon an update.
device.hints is neither related to runtime or loader but it make more sense
to have it in loader in case some user delete /boot/ and wants to recreate it,
now only two packages are required FreeBSD-bootloader and the kernel package.
While here change where we override the package for files installed in /boot,
this allow us to keep other tags (such as config).

Reported by: pizzamig
Reviewed by: bapt pizzamig emaste
Differential Revision: https://reviews.freebsd.org/D24159

4 years agoarm: Fix atomic long APIs to correct 'u_long' signedness
cem [Mon, 23 Mar 2020 23:00:13 +0000 (23:00 +0000)]
arm: Fix atomic long APIs to correct 'u_long' signedness

As defined in atomic(9) and implemented on other architectures, the
atomic(9) functions all act on unsigned pointers and types.  Prior to this
revision, arm implemented some atomic(9) 'long' sized routines with correct
unsigned type, but others were incorrectly signed.

Reviewed by: tinderbox
Sponsored by: Dell EMC Isilon

4 years agoUse the newer EINTEGRITY error when authentication fails.
jhb [Mon, 23 Mar 2020 21:26:32 +0000 (21:26 +0000)]
Use the newer EINTEGRITY error when authentication fails.

GELI used to fail with EINVAL when a read request spanned a disk
sector whose contents did not match the sector's authentication tag.
The recently-added EINTEGRITY more closely matches to the error in
this case.

Reviewed by: cem, mckusick
MFC after: 2 weeks
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D24131

4 years agoImprove LIBADD/_DP_* for kyua libraries.
brooks [Mon, 23 Mar 2020 21:21:38 +0000 (21:21 +0000)]
Improve LIBADD/_DP_* for kyua libraries.

This fixes build with ld.bfd as the linker (e.g. on powerpc).

This corrects a bug in D24103.

Sponsored by: DARPA

4 years agoBump for kyua import.
brooks [Mon, 23 Mar 2020 19:28:24 +0000 (19:28 +0000)]
Bump for kyua import.

Reported by: cy
Sponsored by: DARPA

4 years agoImport the kyua test framework.
brooks [Mon, 23 Mar 2020 19:01:23 +0000 (19:01 +0000)]
Import the kyua test framework.

Having kyua in the base system will simplify automated testing in CI and
eliminates bootstrapping issues on new platforms.

The build of kyua is controlled by WITH(OUT)_TESTS_SUPPORT.

Reviewed by: emaste
Obtained from: CheriBSD
Sponsored by: DARPA
Differential Revision: https://reviews.freebsd.org/D24103

4 years agoAdd liblutok a lightweight C++ API for lua.
brooks [Mon, 23 Mar 2020 18:26:23 +0000 (18:26 +0000)]
Add liblutok a lightweight C++ API for lua.

It is added an INTERNALLIB and not installed.  It will be used by kyua.

This is a preparatory commit for D24103.

Reviewed by: emaste
Obtained from: CheriBSD
Sponsored by: DARPA

4 years agoarch.7: remove Default Tool Chain footnote about xtoolchain
emaste [Mon, 23 Mar 2020 18:17:56 +0000 (18:17 +0000)]
arch.7: remove Default Tool Chain footnote about xtoolchain

MIPS was the last arch to use external toolchain by default but uses
in-tree Clang and lld as of r359233, and now no table entries reference
the footnote.

4 years agoarch.7: update Default Tool Chain intro text
emaste [Mon, 23 Mar 2020 18:14:04 +0000 (18:14 +0000)]
arch.7: update Default Tool Chain intro text

All FreeBSD archs now use an in-tree toolchain - Clang and ELF Tool
Chain everywhere, and lld everywhere but 32-bit PowerPC (which still
uses ld.bfd).  No archs use external toolchain by default.

Sponsored by: The FreeBSD Foundation

4 years agoFix newvers.sh on macOS 10.15
arichardson [Mon, 23 Mar 2020 17:51:44 +0000 (17:51 +0000)]
Fix newvers.sh on macOS 10.15

It appears that the macOS /bin/sh echo now defaults to -e and therefore the
`#define VERSTR` included newline characters instead of \n. This caused compiler
errors due to unterminated strings. Fix by using printf instead of echo.
A less fragile solution might be to bootstrap the in-tree /bin/sh but that
requires more changes.

Reviewed By: brooks
Differential Revision: https://reviews.freebsd.org/D24136

4 years agoUpdate arch.7 .Dd for r359233
arichardson [Mon, 23 Mar 2020 17:51:39 +0000 (17:51 +0000)]
Update arch.7 .Dd for r359233

Suggested by: lwhsu

4 years agoAdd STANDARDS and HISTORY to getcontext(3), makecontext(3), and ucontext(3).
trasz [Mon, 23 Mar 2020 17:38:20 +0000 (17:38 +0000)]
Add STANDARDS and HISTORY to getcontext(3), makecontext(3), and ucontext(3).

Obtained from: NetBSD
MFC after: 2 weeks
Sponsored by: DARPA

4 years agoAdd the tests user, an unprivileged user from the default kyua config.
brooks [Mon, 23 Mar 2020 17:11:27 +0000 (17:11 +0000)]
Add the tests user, an unprivileged user from the default kyua config.

This is a preparatory commit for D24103.

Reviewed by: emaste
Obtained from: CheriBSD
MFC after: 3 days
Sponsored by: DARPA

4 years agoDocument when execl and execp entered unix.
imp [Mon, 23 Mar 2020 16:02:01 +0000 (16:02 +0000)]
Document when execl and execp entered unix.

For this, things are complicated. The first mention in the manual was in the 4th
edition manual (as an add on to exec(II)).  The 2nd and 3rd editions didn't have
these in the manual (either as a separate page, or as an add-on to exec(II)). We
don't have good 1st, 2nd or 3rd edition distributions to look in. However,
there's a tape labeled 'last1120c' that we do have. This tape contains the last
version of the V2 edition of the C compiler on it (just after C got struct). On
this tape there was a libc.sa archive that contains source for execl and
execp. This source is sufficiently different from the V5 sources (which are the
next ones we have sources for) and have a slightly different calling convention
than later sources, suggesting that the early date for the last1120c tape is
correct (in that era, the epoch changed every year, leading to a one or two year
ambiguity on when the files could have been modified) and it should be though of
as V2. Since this was also a time of compiler development, and the calling
convetions are known to be under evolution, and since the rest of the sources in
libc.sa are consistent, that's further evidence that V2 is likely. Finally, 2nd
edition was the last version to fully support the 11/20 because it lacked many
basic features and bell labs moved off it to the 11/45 as soon as they could
afford to buy one, around this time era. The unix manuals make it sound like V3
might have supported the 11/20, but the same intro could also be read to mean it
didn't, at all, and that V3 was the first rewrite for the 11/45 ahead of the
rewrite in C that came with V4.

Taken together, the evidence leans most heavily to V2 (90% IMHO), and slightly
to V3 (8%) or possibly V4 (2%). I've not put all this in the man page, but have
left it here in case someone notices in the future that V4 is the first manual
page for it.

4 years agoStart sentences from new lines
0mp [Mon, 23 Mar 2020 15:39:42 +0000 (15:39 +0000)]
Start sentences from new lines

Also, bump date after 359244.

4 years agoMake ICMP redirect processing depend on routing daemon.
melifaro [Mon, 23 Mar 2020 15:27:10 +0000 (15:27 +0000)]
Make ICMP redirect processing depend on routing daemon.

Submitted by:  lutz at donnerhacke.de
Reviewed by: melifaro,rgrimes
Differential Revision: https://reviews.freebsd.org/D23329

4 years agobsdbox: remove useless linking against libl
kevans [Mon, 23 Mar 2020 14:53:55 +0000 (14:53 +0000)]
bsdbox: remove useless linking against libl

All is good without it; just remove it.

Requested by: bapt

4 years agoRemove useless linking to libl
bapt [Mon, 23 Mar 2020 14:44:23 +0000 (14:44 +0000)]
Remove useless linking to libl

4 years agoRemove the link to libl which only contains a stub function
bapt [Mon, 23 Mar 2020 14:37:00 +0000 (14:37 +0000)]
Remove the link to libl which only contains a stub function
on yywrap, if the flex is told yywrap is not in use, then this linkage becomes
unnecessary

4 years agoRemove unneeded dependency on libl
bapt [Mon, 23 Mar 2020 14:33:29 +0000 (14:33 +0000)]
Remove unneeded dependency on libl

4 years agoRevove useless linking to yacc
bapt [Mon, 23 Mar 2020 14:11:49 +0000 (14:11 +0000)]
Revove useless linking to yacc

4 years agoSort UMA macros and create MLINKS for them
0mp [Mon, 23 Mar 2020 14:04:42 +0000 (14:04 +0000)]
Sort UMA macros and create MLINKS for them

This patch is a follow-up to r344518.

Reported by: ngie

Reviewed by: hselasky
Differential Revision: https://reviews.freebsd.org/D24165

4 years agoAdd tests verifying IPv4/IPv6 output for TCP/UDP/raw paths.
melifaro [Mon, 23 Mar 2020 12:21:32 +0000 (12:21 +0000)]
Add tests verifying IPv4/IPv6 output for TCP/UDP/raw paths.

Reviewed by: kp
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D24138

4 years agoCleanup the file and add two ASSERT variants for locks, which will be
tuexen [Mon, 23 Mar 2020 12:17:13 +0000 (12:17 +0000)]
Cleanup the file and add two ASSERT variants for locks, which will be
used shortly.

MFC after: 1 week

4 years agoUse Clang and LLD as the default toolchain for MIPS
arichardson [Mon, 23 Mar 2020 10:36:32 +0000 (10:36 +0000)]
Use Clang and LLD as the default toolchain for MIPS

Now that we have updated the in-tree version of LLVM to 10.0, we have all the
necessary LLVM changes to use Clang+LLD as the default toolchain for MIPS.

Relnotes: yes
Reviewed By: emaste, jhb, brooks, kevans
Differential Revision: https://reviews.freebsd.org/D23204

4 years agopw: do not removed home directories if not owned
bapt [Mon, 23 Mar 2020 08:23:22 +0000 (08:23 +0000)]
pw: do not removed home directories if not owned

When deleting a user, if its home directory does not belong to it, it should
not be removed. This is the promise that the manpage makes, the tool should
ensure that it respects that promise.

Add a regression test about it

PR: 244967
Submitted by: Eric Hanneken <eric@erichanneken.com>
MFC after: 3 days

4 years agoUse a GCC-compatile compiler flag in files.xlp
arichardson [Sun, 22 Mar 2020 22:18:06 +0000 (22:18 +0000)]
Use a GCC-compatile compiler flag in files.xlp

Seems like GCC doesn't like -Qunused-arguments, so use
-Wno-unused-command-line-argument, which is supported by both GCC and Clang.

4 years agoFix linking OCTEON1 kernel with LLD
arichardson [Sun, 22 Mar 2020 22:18:00 +0000 (22:18 +0000)]
Fix linking OCTEON1 kernel with LLD

LLD complains that the type of .dynamic was changed. Fix this by copying
the approach used in the mips64 ldscript.
I do not have hardware to test this change so I only verified that the
kernel links and the section layout looks sensible.

Reviewed By: imp, emaste
Differential Revision: https://reviews.freebsd.org/D24093

4 years agoUse -F instead of -f in tail(1) examples
0mp [Sun, 22 Mar 2020 21:51:50 +0000 (21:51 +0000)]
Use -F instead of -f in tail(1) examples

There is an example in tail(1) manual page explaining how to use tail(1) to
track the contents of /var/log/messages. The example uses the -f flag to
follow the file. The problem with the -f flag is that it cannot handle the
situation where /var/log/messages is rotated. Hence, use -F instead in the
example.

Reviewed by: asomers
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D24157

4 years ago- sort according to scan code
cs [Sun, 22 Mar 2020 21:41:32 +0000 (21:41 +0000)]
- sort according to scan code
- adapt some alt and alt shift keys to other standard keyboards
- fix ctrl-d to issue eot

Approved by: philip (implicit)

4 years agofix typo in exec man page
carlavilla [Sun, 22 Mar 2020 20:10:05 +0000 (20:10 +0000)]
fix typo in exec man page

PR: 240258
Submitted by: gbergling@gmail.com
Reported by: kib@
Approved by: bcr@(mentor, implicit)
MFC after: 2 days
Differential Revision: https://reviews.freebsd.org/D24145

4 years agoFix an NFS mount attempt where VFS_STATFS() fails.
rmacklem [Sun, 22 Mar 2020 18:18:30 +0000 (18:18 +0000)]
Fix an NFS mount attempt where VFS_STATFS() fails.

r353150 added mnt_rootvnode and this seems to have broken NFS mounts when the
VFS_STATFS() called just after VFS_MOUNT() returns an error.
Then the code calls VFS_UNMOUNT(), which calls vflush(), which returns EBUSY.
Then the thread get stuck sleeping on "mntref" in vfs_mount_destroy().
This patch fixes this problem.

Reviewed by: kib, mjg
Differential Revision: https://reviews.freebsd.org/D24022

4 years agoFix ordering of machine includes
mhorne [Sun, 22 Mar 2020 17:59:36 +0000 (17:59 +0000)]
Fix ordering of machine includes

Remove machine/asm.h since it is unused.

4 years agoBSD.sendmail.dist: simplify mqueue group name setting
emaste [Sun, 22 Mar 2020 16:55:20 +0000 (16:55 +0000)]
BSD.sendmail.dist: simplify mqueue group name setting

Submitted by: gshapiro

4 years agopkgbase: create sendmail directories only from BSD.sendmail.dist
emaste [Sun, 22 Mar 2020 15:37:38 +0000 (15:37 +0000)]
pkgbase: create sendmail directories only from BSD.sendmail.dist

Else when WITHOUT_SENDMAIL is set we still create a sendmail package
that contains (only) two directories.

Reviewed by: manu
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D24149

4 years agoexec man page: Add HISTORY section
carlavilla [Sun, 22 Mar 2020 12:57:49 +0000 (12:57 +0000)]
exec man page: Add HISTORY section

PR: 240258
Submitted by: gbergling@gmail.com
Patch by: gbergling@gmail.com
Approved by: bcr@(mentor)
MFC after: 2 days
Differential Revision: https://reviews.freebsd.org/D24145

4 years agoAdd new USB ID.
hselasky [Sun, 22 Mar 2020 11:44:24 +0000 (11:44 +0000)]
Add new USB ID.

Submitted by: Konrad Jopek <kjopek@gmail.com>
Differential Revision: https://reviews.freebsd.org/D24142
MFC after: 1 week
Sponsored by: Mellanox Technologies

4 years agoMakefile.inc1: set DB_FROM_SRC also for stageworld
emaste [Sun, 22 Mar 2020 03:10:31 +0000 (03:10 +0000)]
Makefile.inc1: set DB_FROM_SRC also for stageworld

stageworld, invoked from e.g. `make packages`, shouldn't rely on the
build host's users/groups.

Sponsored by: The FreeBSD Foundation

4 years agoMFV r359197: xz 5.2.5.
delphij [Sun, 22 Mar 2020 01:27:38 +0000 (01:27 +0000)]
MFV r359197: xz 5.2.5.

MFC after: 2 weeks
Relnotes: yes

4 years agoMore timer cleanups, no functional change.
tuexen [Sat, 21 Mar 2020 16:12:19 +0000 (16:12 +0000)]
More timer cleanups, no functional change.

MFC after: 1 week

4 years agonlist(3): add elf(5) xref
emaste [Sat, 21 Mar 2020 15:51:05 +0000 (15:51 +0000)]
nlist(3): add elf(5) xref

Found while looking for a.out remnants; nlist should also xref the
binary format we currently use.

4 years agoreadelf: simplify Xen string note printing
emaste [Sat, 21 Mar 2020 00:08:33 +0000 (00:08 +0000)]
readelf: simplify Xen string note printing

Reviewed by: markj
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D24140

4 years agoRedo r359164 now that it's baked : Eliminate misuse of $MACHINE for userland things.
imp [Sat, 21 Mar 2020 00:01:06 +0000 (00:01 +0000)]
Redo r359164 now that it's baked : Eliminate misuse of $MACHINE for userland things.

Use TARGET_ARCH and/or MACHINE_ARCH exclusively. Change all __TT uses to __T
with appropriate translations. MACHINE/TARGET is to be used only for kernel
things, and this fixes the last few stragglers.

4 years agoWhen printing out the contents of the VSEC, include the contents of the
scottl [Fri, 20 Mar 2020 23:26:37 +0000 (23:26 +0000)]
When printing out the contents of the VSEC, include the contents of the
headers.  Device documentation often times give offsets relative to the
start of the entire VSEC, not just the post-header data area, so this
change makes it easier to correlate offsets.

4 years agoIntroduce LINUXKPI_GENSRCS.
kib [Fri, 20 Mar 2020 21:06:58 +0000 (21:06 +0000)]
Introduce LINUXKPI_GENSRCS.

Centralize the list of generated files required by linuxkpi consumers,
into the common variable.  This way, consumers that use the variable
are insulated from possible changes in the list.

Reviewed by: hselasky, imp
Sponsored by: Mellanox Technologies
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D24137

4 years agoLock the socket in soo_stat().
markj [Fri, 20 Mar 2020 20:09:00 +0000 (20:09 +0000)]
Lock the socket in soo_stat().

Otherwise nothing synchronizes with a concurrent conversion of the
socket to a listening socket.

Only the PF_LOCAL protocols implement pru_sense, and it is safe to hold
the socket lock there, so do so for now.

Reported by: syzbot+4801f1b79ea40953ca8e@syzkaller.appspotmail.com
MFC after: 1 week
Sponsored by: The FreeBSD Foundation

4 years agoFix uselocale(3) to not leak a reference to the old locale.
markj [Fri, 20 Mar 2020 20:02:53 +0000 (20:02 +0000)]
Fix uselocale(3) to not leak a reference to the old locale.

In a single-threaded program pthread_getspecific() always returns NULL,
so the old locale would not end up being freed.

PR: 239520
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation

4 years agoRemove cx module subdir, missed in r359178
emaste [Fri, 20 Mar 2020 19:38:14 +0000 (19:38 +0000)]
Remove cx module subdir, missed in r359178

4 years agoUse a separate copy of machdep.h in cp and ce drivers
emaste [Fri, 20 Mar 2020 19:28:55 +0000 (19:28 +0000)]
Use a separate copy of machdep.h in cp and ce drivers

Previously they included sys/dev/cx/machdep.h, but the cx driver was
retired in r359178.  These drivers haven't had real development for
a decade or more so there's no real benefit in sharing this file; just
copy it to the ce and cp subdirs.

4 years agoRemove ctau module subdir, missed in r359178
emaste [Fri, 20 Mar 2020 19:23:55 +0000 (19:23 +0000)]
Remove ctau module subdir, missed in r359178

4 years agoAdd myself (nick) as a src committer
nick [Fri, 20 Mar 2020 17:16:21 +0000 (17:16 +0000)]
Add myself (nick) as a src committer

Reviewed by: philip (mentor)
Approved by: philip (mentor), kp (mentor)
Differential Revision: https://reviews.freebsd.org/D24130

4 years agoretire cx,ctau drivers
emaste [Fri, 20 Mar 2020 16:50:19 +0000 (16:50 +0000)]
retire cx,ctau drivers

The devices supported by these drivers are obsolete ISA cards, and the
sync serial protocols they supported are essentially obsolete too.

Sponsored by: The FreeBSD Foundation

4 years agoObsoleteFiles.inc: add blank line between some recent entries
emaste [Fri, 20 Mar 2020 16:25:06 +0000 (16:25 +0000)]
ObsoleteFiles.inc: add blank line between some recent entries

We recently switched to including a blank line between ObsoleteFiles.inc
entries.  I missed this when adding GCC 4.2.1 (because the change was
prepared months ago in a WIP tree); add a space for GCC 4.2.1 now, as
well as for the other entry after the switch.

4 years agolibelftc: Fix a memory leak in cpp_demangle_read_type().
markj [Fri, 20 Mar 2020 16:25:06 +0000 (16:25 +0000)]
libelftc: Fix a memory leak in cpp_demangle_read_type().

CID: 1305425
MFC after: 1 week
Sponsored by: The FreeBSD Foundation

4 years agoreadelf: Fix another instance of the leak mentioned in r357542.
markj [Fri, 20 Mar 2020 16:24:53 +0000 (16:24 +0000)]
readelf: Fix another instance of the leak mentioned in r357542.

CID: 1292493
MFC after: 1 week
Sponsored by: The FreeBSD Foundation

4 years agoreadelf: Avoid leaking ELF descriptors for archive entries.
markj [Fri, 20 Mar 2020 16:24:40 +0000 (16:24 +0000)]
readelf: Avoid leaking ELF descriptors for archive entries.

CID: 1292494
MFC after: 1 week
Sponsored by: The FreeBSD Foundation

4 years agolibpe: Avoid a potential use-after-free in pe_update_symtab().
markj [Fri, 20 Mar 2020 16:24:23 +0000 (16:24 +0000)]
libpe: Avoid a potential use-after-free in pe_update_symtab().

This function appears to be unused within FreeBSD and ELFToolChain.

CID: 1418982
MFC after: 1 week
Sponsored by: The FreeBSD Foundation

4 years agolibdwarf: Make an out-pointer assignment unconditional.
markj [Fri, 20 Mar 2020 16:24:06 +0000 (16:24 +0000)]
libdwarf: Make an out-pointer assignment unconditional.

There is no reason for diep to ever be NULL, since in that case we would
simply be leaking memory.

CID: 1418801
MFC after: 1 week
Sponsored by: The FreeBSD Foundation

4 years agoSimplify uipc_detach() slightly.
markj [Fri, 20 Mar 2020 16:18:54 +0000 (16:18 +0000)]
Simplify uipc_detach() slightly.

Remove a goto and an unneeded local variable, and fix style.  No
functional change intended.

Tested by: pho
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation

4 years agoRemove UNP_NASCENT, reverting r303855.
markj [Fri, 20 Mar 2020 16:17:54 +0000 (16:17 +0000)]
Remove UNP_NASCENT, reverting r303855.

unp_connectat() no longer holds the link lock across calls to
sonewconn(), so the recursion described in r303855 can no longer occur.
No functional change intended.

Tested by: pho
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation

4 years agosys/cam: remove doubled ;s
emaste [Fri, 20 Mar 2020 16:15:45 +0000 (16:15 +0000)]
sys/cam: remove doubled ;s

4 years agoremove ancient pre-2000 ObsoleteFiles.inc entries
emaste [Fri, 20 Mar 2020 16:02:45 +0000 (16:02 +0000)]
remove ancient pre-2000 ObsoleteFiles.inc entries

We support 10.3 as the minimum version to install from, which was
released in the mid-2010s.  There's a lot of ancient ObsoleteFiles.inc
history that serves no purpose today; start by removing entries from
1999 and earlier.

4 years agoRevert r359164.
imp [Fri, 20 Mar 2020 16:00:26 +0000 (16:00 +0000)]
Revert r359164.

This was in my staging tree by mistake when I pushed. Revert until it's ready.

4 years agoobjcopy: add new sections also when there is no .shstrtab
emaste [Fri, 20 Mar 2020 15:50:37 +0000 (15:50 +0000)]
objcopy: add new sections also when there is no .shstrtab

Previously objcopy (elfcopy) --add-sections inserted new sections before
.shstrtab, but omitted them if there was no .shstrtab.

Now, after processing existing sections add new sections if they were
not yet added.

PR: 241437
Reported by: arrowd
Submitted by: Tiger Gao <tig@FreeBSDFoundation.org>
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D23571

4 years agoImplement a workaround for kms-drm modules
imp [Fri, 20 Mar 2020 15:07:25 +0000 (15:07 +0000)]
Implement a workaround for kms-drm modules

pci_iov_if.h was added to pci.h, but none of the kms-drm branches have
that. Rather than play whack a mole with the branches, move its inclusion to
linux_pci.c which is the only part of the code that needs it now.

Longer term, other solutions will be needed, but this gives us time to get those
deployed on all the supported versions.

4 years agoEliminate misuse of $MACHINE for userland things.
imp [Fri, 20 Mar 2020 15:07:21 +0000 (15:07 +0000)]
Eliminate misuse of $MACHINE for userland things.

Use TARGET_ARCH and/or MACHINE_ARCH exclusively. Change all __TT uses to __T
with appropriate translations. MACHINE/TARGET is to be used only for kernel
things.

4 years agoRemove sparc support from clang build infrastructure. Any remaining sparc files
imp [Fri, 20 Mar 2020 15:07:15 +0000 (15:07 +0000)]
Remove sparc support from clang build infrastructure. Any remaining sparc files
will be mopped up in future imports.

Differential Revision: https://reviews.freebsd.org/D24128

4 years agoRemove a set, but unused variable.
tuexen [Fri, 20 Mar 2020 14:49:44 +0000 (14:49 +0000)]
Remove a set, but unused variable.

MFC after: 1 week

4 years ago[PowerPC] fix panic reading /dev/kmem on !DMAP machines
alfredo [Fri, 20 Mar 2020 11:51:08 +0000 (11:51 +0000)]
[PowerPC] fix panic reading /dev/kmem on !DMAP machines

This fixes /dev/kmem causing panic on machines not using DMAP.

Found when running libkvm Kyua test case on QEMU VM with no
Huge Pages support.

Reviewed by: jhibbits, luporl
Approved by: jhibbits (mentor)
Sponsored by: Eldorado Research Institute (eldorado.org.br)
Differential Revision: https://reviews.freebsd.org/D23776

4 years agocxgbe(4): Split sge_nm_rxq into three cachelines.
np [Fri, 20 Mar 2020 05:12:16 +0000 (05:12 +0000)]
cxgbe(4): Split sge_nm_rxq into three cachelines.

This reduces the lines bouncing around between the driver rx ithread and
the netmap rxsync thread.  There is no net change in the size of the
struct (it continues to waste a lot of space).

This kind of split was originally proposed in D17869 by Marc De La
Gueronniere @ Verisign, Inc.

MFC after: 1 week
Sponsored by: Chelsio Communications

4 years agoAdd new USB device ID for Elecom 802.11ac USB device.
gavin [Fri, 20 Mar 2020 04:13:39 +0000 (04:13 +0000)]
Add new USB device ID for Elecom 802.11ac USB device.

MFC after: 2 weeks

4 years agoAdd DragonFly BSD 5.8 & 5.63
sevan [Fri, 20 Mar 2020 03:15:23 +0000 (03:15 +0000)]
Add DragonFly BSD 5.8 & 5.63

4 years agoA a missing NET_EPOCH_ENTER/NET_EPOCH_EXIT pair. This was affecting
tuexen [Thu, 19 Mar 2020 23:07:52 +0000 (23:07 +0000)]
A a missing NET_EPOCH_ENTER/NET_EPOCH_EXIT pair. This was affecting
implicit connection setups via sendmsg().

Reported by: syzbot+febbe3383a0e9b700c1b@syzkaller.appspotmail.com
Reported by: syzbot+dca98631455d790223ca@syzkaller.appspotmail.com
Reported by: syzbot+5a71a7760d6bcf11b8cd@syzkaller.appspotmail.com
Reported by: syzbot+da64217e140444c49f00@syzkaller.appspotmail.com

4 years agoFix synchronization in the IPV6_2292PKTOPTIONS set handler.
markj [Thu, 19 Mar 2020 21:38:52 +0000 (21:38 +0000)]
Fix synchronization in the IPV6_2292PKTOPTIONS set handler.

The inpcb needs to be locked when we update output packet options.
Otherwise it is possible for the IPV6_2292PKTOPTIONS handler to free
packet option structures while another thread is reading or updating
them.

Note that the option handler is still kind of broken.  For instance it
frees all options before performing privilege checks for individual
options.  However, this can be fixed separately.

Reported by: syzbot+52eb0fd4ddc119787f9d@syzkaller.appspotmail.com
Reviewed by: bz, tuexen
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D24125

4 years agoloader: remove libsa/crc32.c and use version from zlib
tsoome [Thu, 19 Mar 2020 21:05:11 +0000 (21:05 +0000)]
loader: remove libsa/crc32.c and use version from zlib

we have crc32(const void *, size_t) in libsa. Unfortunately zlib has
crc32(long, const unigned char *, unsigned) and we have conflict.

Since we do build libsa with zlib, we can use zlib version instead.

Reviewed by: allanjude
Differential Revision: https://reviews.freebsd.org/D24068

4 years agoConsistently provide arguments for timer start and stop routines.
tuexen [Thu, 19 Mar 2020 21:01:16 +0000 (21:01 +0000)]
Consistently provide arguments for timer start and stop routines.
This is another step in cleaning up timer handling.
MFC after: 1 week

4 years agoCleanup the stream reset and asconf timer.
tuexen [Thu, 19 Mar 2020 18:55:54 +0000 (18:55 +0000)]
Cleanup the stream reset and asconf timer.

MFC after: 1 week

4 years agoloader: misaligned access of dos_partition structure
tsoome [Thu, 19 Mar 2020 17:27:08 +0000 (17:27 +0000)]
loader: misaligned access of dos_partition structure

armv7 crash due to misligned access of dos_partition dp_start field.

Allocate and make copy of dos_partition array to make sure the data
is aligned.

Reported by: marklmi at yahoo.com

4 years agoFix SES on device slots without phys after r349321.
mav [Thu, 19 Mar 2020 17:20:50 +0000 (17:20 +0000)]
Fix SES on device slots without phys after r349321.

Broadcom 9400-8i8e HBAs report virtual SES device, where slots representing
external connectors are reported having no phys.  Since sasdev_phys is NULL
there and proto_hdr is a union, ses_paths_iter() misinterpreted them as ATA.
Add explicit protocol check to properly differentiate them.

MFC after: 1 week
Sponsored by: iXsystems, Inc.

4 years agokern_dup(): Call filecaps_free_prep() in a write section.
markj [Thu, 19 Mar 2020 15:40:05 +0000 (15:40 +0000)]
kern_dup(): Call filecaps_free_prep() in a write section.

filecaps_free_prep() bzeros the capabilities structure and we need to be
careful to synchronize with unlocked readers, which expect a consistent
rights structure.

Reviewed by: kib, mjg
Reported by: syzbot+5f30b507f91ddedded21@syzkaller.appspotmail.com
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D24120