]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
5 years agoSupport device-independent labels for geom_flashmap slices.
ian [Sun, 24 Mar 2019 19:11:45 +0000 (19:11 +0000)]
Support device-independent labels for geom_flashmap slices.

While geom_flashmap has always supported label names for its slices, it does
so by appending "s.labelname" to the provider device name, meaning you still
have to know the name and unit of the hardware device to use the labels.

These changes add support for device-independent geom_flashmap labels, using
the standard geom_label infrastructure. geom_flashmap now creates a softc
struct attached to its geom, and as it creates slices it stores the label
into an array in the softc. The new geom_label_flashmap uses those labels
when tasting a geom_flashmap provider.

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

5 years agor329522 created problemss with commands that enter the TIMEDOUT state but
scottl [Sun, 24 Mar 2019 19:09:50 +0000 (19:09 +0000)]
r329522 created problemss with commands that enter the TIMEDOUT state but
are successfully returned by the card (usually due to an abort being issued
as part of timeout recovery). Remove what amounts to an insufficient
KASSERT, and don't overwrite the state value. State should probably be
re-designed, and that will be done with a future commit.

Reported by: phk, bei.io
Reviewed by: imp, mav
Differential Revision: D19677

5 years agoFix buffer overruns in modes with color depth more than 8.
bde [Sun, 24 Mar 2019 18:57:03 +0000 (18:57 +0000)]
Fix buffer overruns in modes with color depth more than 8.

Support for 16-bit and 32-bit Truecolor modes was supposed to be
complete in r70991 of main.c and in nearby revisions for other files, but
it was broken by the overruns in most cases (all cases were the mouse
is enabled, and most cases where bitmaps are used).  r70991 also
uninintentionally added support for depths 9-15, 17-23 and 25-31.
Depth 24 was more obviously broken and its support is ifdefed out.  In
the other ranges, only depth 15 is common.  It was broken by buffer
overruns in all cases.

bitmap.c:
- the static buffer was used even when it was too small (but it was
  large enough to often work accidentally in depth 16)
- the size of the dynamically allocated buffer was too small
- the sizing info bitmap->PixelBytes was not inititialzed in the bitmap
  constructor.  It often ended up as 0 for MEMBUFs, so using it in more
  places gave more null pointer accesses.  (It is per-bitmap, but since
  conversion between bitmaps of different depths is not supported (except
  from 4 bits by padding to 8), it would work better if it were global.)

main.c:
- depths were rounded down instead of up to a multiple of 8, so PixelBytes
  was 1 too small for depths above 8 except 16, 24 and 32.
- PixelBytes was not initialized for 4-bit planar modes.  It isn't really
  used for frame buffer accesses in these modes, but needs to be 1 in
  MEMBUF images.

mouse.c:
- the mouse cursor buffers were too small.

vgl.h:
- PixelBytes was not initialized in the static bitmap constructor.  It
  should be initialized to the value for the current mode, but that is
  impossible in a static constructor.  Initialize it to -1 so as to
  fail if it is used without further initialization.

All modes that are supposed to be supported now don't crash in
nontrivial tests, and almost work.  Missing uses of PixelBytes now
give in-bounds wrong pointers instead of overruns.  Misconversions of
bitmaps give multiple miscolored mouse cursors instead of 1 white one,
and similarly for bitmaps copied through a MEMBUF.

5 years agoDistinguish between "no partition" and "choose best partition" with a constant.
ian [Sun, 24 Mar 2019 18:51:52 +0000 (18:51 +0000)]
Distinguish between "no partition" and "choose best partition" with a constant.

The values of the d_slice and d_partition fields of a disk_devdesc have a
few values with special meanings in the disk_open() routine. Through various
evolutions of the loader code over time, a d_partition value of -1 has
meant both "use the first ufs partition found in the bsd label" and "don't
open a bsd partition at all, open the raw slice."

This defines a new special value of -2 to mean open the raw slice, and it
gives symbolic names to all the special values used in d_slice and
d_partition, and adjusts all existing uses of those fields to use the new
constants.

The phab review for this timed out without being accepted, but I'm still
citing it below because there is useful commentary there.

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

5 years agoRevert accidental change that should not have been included in r345475.
ian [Sun, 24 Mar 2019 18:02:27 +0000 (18:02 +0000)]
Revert accidental change that should not have been included in r345475.
I had changed this value as part of a local experiment, and neglected to
change it back before committing the other changes.

5 years agoTruncate a too-long interrupt handler name when there is only one handler.
ian [Sun, 24 Mar 2019 17:53:26 +0000 (17:53 +0000)]
Truncate a too-long interrupt handler name when there is only one handler.

There are only 19 bytes available for the name of an interrupt plus the
name(s) of handlers/drivers using it. There is a mechanism from the days of
shared interrupts that replaces some of the handler names with '+' when they
don't all fit into 19 bytes.

In modern times there is typically only one device on an interrupt, but long
device names are the norm, especially with embedded systems. Also, in systems
with multiple interrupt controllers, the names of the interrupts themselves
can be long. For example, 'gic0,s54: imx6_anatop0' doesn't fit, and
replacing the device driver name with a '+' provides no useful info at all.

When there is only one handler but its name was too long to fit, this
change truncates enough leading chars of the handler name (replacing them
with a '-' char to indicate that some chars are missing) to use all 19
bytes, preserving the unit number typically on the end of the name. Using
the prior example, this results in: 'gic0,s54:-6_anatop0' which provides
plenty of info to figure out which device is involved.

PR: 211946
Reviewed by: gonzo@ (prior version without the '-' char)
Differential Revision: https://reviews.freebsd.org/D19675

5 years agoFix libvgl to not always fail to initialize due to its invalid mmap()
bde [Sun, 24 Mar 2019 16:47:43 +0000 (16:47 +0000)]
Fix libvgl to not always fail to initialize due to its invalid mmap()
args (neither MAP_PRIVATE nor MAP_SHARED).  It was broken in r271635
and/or r271724 by stricter checking.  The compatibility code in r271724
doesn't work for my old binaries (actually new binaries with old
libraries).

PR: needed to test the fix for PR 162373

5 years agoWhitespace cleanup (annoying).
dchagin [Sun, 24 Mar 2019 15:08:30 +0000 (15:08 +0000)]
Whitespace cleanup (annoying).

MFC after: 1 month

5 years agoRegen from r345471.
dchagin [Sun, 24 Mar 2019 14:51:17 +0000 (14:51 +0000)]
Regen from r345471.

MFC after: 1 month

5 years agoUpdate syscall.master to 5.0.
dchagin [Sun, 24 Mar 2019 14:50:02 +0000 (14:50 +0000)]
Update syscall.master to 5.0.

For 32-bit Linuxulator, ipc() syscall was historically
the entry point for the IPC API. Starting in Linux 4.18, direct
syscalls are provided for the IPC. Enable it.

MFC after: 1 month

5 years agoRegen for r345469 (shmat()).
dchagin [Sun, 24 Mar 2019 14:46:07 +0000 (14:46 +0000)]
Regen for r345469 (shmat()).

MFC after: 1 month

5 years agoLinux between 4.18 and 5.0 split IPC system calls.
dchagin [Sun, 24 Mar 2019 14:44:35 +0000 (14:44 +0000)]
Linux between 4.18 and 5.0 split IPC system calls.
In preparation for doing this in the Linuxulator modify our linux_shmat()
to match actual Linux shmat() system call.

MFC after: 1 month

5 years agoRevert r313993.
dchagin [Sun, 24 Mar 2019 14:02:57 +0000 (14:02 +0000)]
Revert r313993.
AMD64_SET_**BASE expects a pointer to a pointer, we just passing in the pointer value itself.

Set PCB_FULL_IRET for doreti to restore %fs, %gs and its correspondig base.

PR: 225105
Reported by: trasz@
MFC after: 1 month

5 years agoFix build issue for the userland stack.
tuexen [Sun, 24 Mar 2019 12:13:05 +0000 (12:13 +0000)]
Fix build issue for the userland stack.
Joint work with rrs@.

MFC after: 1 week

5 years agoFox more signed unsigned issues. This time on the send path.
tuexen [Sun, 24 Mar 2019 10:40:20 +0000 (10:40 +0000)]
Fox more signed unsigned issues. This time on the send path.
This is joint work with rrs@ and was found by running syzkaller.

MFC after: 1 week

5 years agoFix a signed/unsigned bug when receiving SCTP messages.
tuexen [Sun, 24 Mar 2019 09:46:16 +0000 (09:46 +0000)]
Fix a signed/unsigned bug when receiving SCTP messages.
This is joint work with rrs@.

Reported by: syzbot+6b8a4bc8cc828e9d9790@syzkaller.appspotmail.com
MFC after: 1 week

5 years agoFix AMD type flash write operations, and display chip information at boot
allanjude [Sun, 24 Mar 2019 06:28:25 +0000 (06:28 +0000)]
Fix AMD type flash write operations, and display chip information at boot

Applies to MX flash chips on AR9132 and RT3050

Submitted by: Hiroki Mori <yamori813@yahoo.co.jp>
Reviewed by: imp, sbruno
Differential Revision: https://reviews.freebsd.org/D14279

5 years agoLimit the size of messages sent on 1-to-many style SCTP sockets with the
tuexen [Sat, 23 Mar 2019 22:56:03 +0000 (22:56 +0000)]
Limit the size of messages sent on 1-to-many style SCTP sockets with the
SCTP_SENDALL flag. Allow also only one operation per SCTP endpoint.

This fixes an issue found by running syzkaller and is joint work with rrs@.

MFC after: 1 week

5 years agoLimit the number of bytes which can be queued for SCTP sockets.
tuexen [Sat, 23 Mar 2019 22:46:29 +0000 (22:46 +0000)]
Limit the number of bytes which can be queued for SCTP sockets.
This is joint work with rrs@.
Reported by: syzbot+307f167f9bc214f095bc@syzkaller.appspotmail.com
MFC after: 1 week

5 years agoAdd sysctl variable net.inet.tcp.rexmit_initial for setting RTO.Initial
tuexen [Sat, 23 Mar 2019 21:36:59 +0000 (21:36 +0000)]
Add sysctl variable net.inet.tcp.rexmit_initial for setting RTO.Initial
used by TCP.

Reviewed by: rrs@, 0mp@
Sponsored by: Netflix, Inc.
Differential Revision: https://reviews.freebsd.org/D19355

5 years agoAdd descriptions for sysctls in kern_mib.c and sysctl.3 which lack them.
rpokala [Sat, 23 Mar 2019 19:53:15 +0000 (19:53 +0000)]
Add descriptions for sysctls in kern_mib.c and sysctl.3 which lack them.

r343532 noted the difference between "hw.realmem" and "hw.physmem", which I
was previously unaware of. I discovered that neither sysctl had a
description visible via `sysctl -d', so I found where they were defined and
added suitable descriptions. While in the file, I went ahead and added
descriptions for all the others which lacked them. I also updated sysctl.3
accordingly

Reviewed by: kib, bcr
MFC after: 1 weeks
Sponsored by: Panasas
Differential Revision: https://reviews.freebsd.org/D19007

5 years agoRemove duplicate options.
imp [Sat, 23 Mar 2019 18:32:28 +0000 (18:32 +0000)]
Remove duplicate options.

5 years agoAdd device xz. This was somehow missed in the last round.
imp [Sat, 23 Mar 2019 18:32:24 +0000 (18:32 +0000)]
Add device xz. This was somehow missed in the last round.

Submitted by: Brandon Bergren

5 years agoASLR: check for max_addr after applying randomization, not before.
kib [Sat, 23 Mar 2019 16:36:18 +0000 (16:36 +0000)]
ASLR: check for max_addr after applying randomization, not before.

Otherwise resulting address from vm_map_find() migh not satisfy the
upper limit.  For instance, it could affect MAP_32BIT flag from 64bit
processes.

Found by: Doug Moore <dougm@rice.edu>
Reviewed by: alc, Doug Moore <dougm@rice.edu>
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D19688

5 years agoAdd ability to automatically load ipfw_nat64, ipfw_nptv6 and ipfw_pmod
ae [Sat, 23 Mar 2019 15:41:32 +0000 (15:41 +0000)]
Add ability to automatically load ipfw_nat64, ipfw_nptv6 and ipfw_pmod
modules by declaring corresponding variables in rc.conf. Also document
them in rc.conf(5).

Submitted by: Dries Michiels
Differential Revision: https://reviews.freebsd.org/D19673

5 years agoPull in r356809 from upstream llvm trunk (by Eli Friedman):
dim [Sat, 23 Mar 2019 14:10:05 +0000 (14:10 +0000)]
Pull in r356809 from upstream llvm trunk (by Eli Friedman):

  [ARM] Don't form "ands" when it isn't scheduled correctly.

  In r322972/r323136, the iteration here was changed to catch cases at
  the beginning of a basic block... but we accidentally deleted an
  important safety check.  Restore that check to the way it was.

  Fixes https://bugs.llvm.org/show_bug.cgi?id=41116

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

This should fix "Assertion failed: (LiveCPSR && "CPSR liveness tracking
is wrong!"), function UpdateCPSRUse" errors when building the devel/xwpe
port for armv7.

PR: 236062, 236568
MFC after: 1 month
X-MFC-With: r344779

5 years agoRemove trunc_page_ps() and round_page_ps() macros. This completes
trasz [Sat, 23 Mar 2019 13:41:14 +0000 (13:41 +0000)]
Remove trunc_page_ps() and round_page_ps() macros.  This completes
the undoing of r100384.

Reviewed by: kib
MFC after: 2 weeks
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D19680

5 years agoAdd UPDATING note for geom_uzip(4)/xz, and bump geom_uzip(4) man page date.
kib [Sat, 23 Mar 2019 10:13:01 +0000 (10:13 +0000)]
Add UPDATING note for geom_uzip(4)/xz, and bump geom_uzip(4) man page date.

Sponsored by: The FreeBSD Foundation
MFC after: 3 days

5 years agoFix a KASSERT() in tcp_output().
tuexen [Sat, 23 Mar 2019 09:56:41 +0000 (09:56 +0000)]
Fix a KASSERT() in tcp_output().

When checking the length of the headers at this point, the IP level
options have not been added to the mbuf chain.
So don't take them into account.

Reported by: syzbot+16025fff7ee5f7c5957b@syzkaller.appspotmail.com
Reported by: syzbot+adb5836b8a9ff621b2aa@syzkaller.appspotmail.com
Reported by: syzbot+d25a5352bcdf40acdbb8@syzkaller.appspotmail.com
Reviewed by: rrs@
MFC after: 3 days
Sponsored by: Netflix, Inc.

5 years agoAllow using TPM as entropy source.
mw [Sat, 23 Mar 2019 05:13:51 +0000 (05:13 +0000)]
Allow using TPM as entropy source.

TPM has a built-in RNG, with its own entropy source.
The driver was extended to harvest 16 random bytes from TPM every 10 seconds.
A new build option "TPM_HARVEST" was introduced - for now, however, it
is not enabled by default in the GENERIC config.

Submitted by: Kornel Duleba <mindal@semihalf.com>
Reviewed by: markm, delphij
Approved by: secteam
Obtained from: Semihalf
Sponsored by: Stormshield
Differential Revision: https://reviews.freebsd.org/D19620

5 years agoThe check for $ippool_rules in start_cmd is tautological.
cy [Sat, 23 Mar 2019 04:32:10 +0000 (04:32 +0000)]
The check for $ippool_rules in start_cmd is tautological.

Reported by: hrs@
MFC after: 13 days
X-MFC with: r345400

5 years agopowernv: Add Hypervisor Maintenance Interrupt handler
jhibbits [Sat, 23 Mar 2019 03:23:20 +0000 (03:23 +0000)]
powernv: Add Hypervisor Maintenance Interrupt handler

Attempting to build www/firefox on POWER9 resulted in a HMI exception being
thrown, a fatal trap currently.  This is typically caused by timer facility
errors, but examination of the Hypervisor Maintenance Exception Register
(HMER) yielded only that an exception had recovered, with no information of
the actual exception cause.

When an HMI occurs, OPAL_HANDLE_HMI or OPAL_HANDLE_HMI2 must be called to
handle the exception at the firmware level.  If the exception is handled, we
can continue.

This adds only the preliminary handler, enough to prevent package building
from panicking.  An enhancement in the future is to use the flags returned
by OPAL_HANDLE_HMI2 to print more useful error messages, and log maintenance
events.

Reviewed by: luporl
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D19634

5 years agoEnable etherswitchcfg and e6000sw driver in arm64 build
mw [Sat, 23 Mar 2019 02:53:47 +0000 (02:53 +0000)]
Enable etherswitchcfg and e6000sw driver in arm64 build

After latest binding update, this patch enables usage of
the switch on Armada 3720 EspressoBin, so compile it
by default with arm64 GENERIC.

A patch was extracted from https://reviews.freebsd.org/D19036

Submitted by: Bert JW Regeer <xistence@0x58.com>
Reviewed by: manu

5 years agoUpdate mvneta/e6000sw for new DSA Device Tree Bindings
mw [Sat, 23 Mar 2019 02:48:47 +0000 (02:48 +0000)]
Update mvneta/e6000sw for new DSA Device Tree Bindings

In the latest Linux kernel revisions the DSA (Distributed
Switch Architecture) device tree binding was changed.
Instead of the top level dsa@ node, the switch and its
ports is represented as a child node of the mdio bus.
With that other modifications were added, such as
relation with the ethernet port of the SoC. Adjust
e6000sw etherswitch and mvneta drivers to that.

Tested on Armada 3720 EspressoBin and Armada 388 Clearfog Pro boards.

Submitted by: Bert JW Regeer <xistence@0x58.com>
Reviewed by: manu
Differential Revision: https://reviews.freebsd.org/D19036

5 years agostrings: return an error code and the char value separately
oshogbo [Sat, 23 Mar 2019 02:17:07 +0000 (02:17 +0000)]
strings: return an error code and the char value separately

If we returning 32 bits value it's hard to distinguish if the returned value
is a valid one or if its an error (in case of EOF). For that reason separate
exit code of the function from the returned character.

Reported by: cem, se

5 years agopf tests: Fix accidental duplication of content
kp [Sat, 23 Mar 2019 01:07:51 +0000 (01:07 +0000)]
pf tests: Fix accidental duplication of content

Also use the correct name for the scapy test script.

5 years agopowerpc: Re-merge isa3 HPT with moea64 native HPT
jhibbits [Fri, 22 Mar 2019 22:14:14 +0000 (22:14 +0000)]
powerpc: Re-merge isa3 HPT with moea64 native HPT

r345402 fixed the bug that led to the split of the ISA 3.0 HPT handling from
the existing manager.  The cause of the bug was gcc moving the register
holding VPN to a different register (not r0), which triggered bizarre
behaviors.  With the fix, things work, so they can be re-merged.  No
performance lost with the merge.

5 years agoMake it possible to update TMPFS mount point from read-only to read-write
sobomax [Fri, 22 Mar 2019 21:31:21 +0000 (21:31 +0000)]
Make it possible to update TMPFS mount point from read-only to read-write
and vice versa.

Reviewed by: delphij
Approved by: delphij
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D19682

5 years agoRevert r345410, VOP_FSYNC change in ZFS vdev_file
avg [Fri, 22 Mar 2019 17:44:47 +0000 (17:44 +0000)]
Revert r345410, VOP_FSYNC change in ZFS vdev_file

I overlooked the fact that that VOP_FSYNC() call is not a FreeBSD VFS
call, but a macro that provides an illumos-compatible wrapper for the
FreeBSD operation.

PR: 236475
Reported by: lwhsu
Pointyhat to: avg

5 years agoUpdate mentor and calendar files
mhorne [Fri, 22 Mar 2019 17:37:14 +0000 (17:37 +0000)]
Update mentor and calendar files

Add an entry for myself (mhorne) to these files.

Approved by: markj

5 years agoUse internal command variables for consistent style.
cy [Fri, 22 Mar 2019 11:46:35 +0000 (11:46 +0000)]
Use internal command variables for consistent style.

Reported by: rgrimes@
MFC after: 13 days
X-MFC with: r345400

5 years agointpm: change translation of HBA error status to smbus(4) errors
avg [Fri, 22 Mar 2019 10:38:22 +0000 (10:38 +0000)]
intpm: change translation of HBA error status to smbus(4) errors

PIIX4_SMBHSTSTAT_ERR can be set for several reasons that, unfortunately,
cannot be distinguished, but the most typical case is a missing or hung
slave (SMB_ENOACK).

PIIX4_SMBHSTSTAT_FAIL means failed or killed / aborted transaction, so
it's previous mapping to SMB_ENOACK was not ideal.

After this change an smb(4) access to a missing slave results in ENXIO
rather than EIO.  To me, that seems to be more appropriate.

MFC after: 3 weeks

5 years agoZFS vdev_file: use correct value for waitfor parameter of VOP_FSYNC
avg [Fri, 22 Mar 2019 09:11:45 +0000 (09:11 +0000)]
ZFS vdev_file: use correct value for waitfor parameter of VOP_FSYNC

PR: 236475
Reported by: asomers
MFC after: 2 weeks

5 years agopf tests: Test CVE-2019-5598
kp [Fri, 22 Mar 2019 07:39:28 +0000 (07:39 +0000)]
pf tests: Test CVE-2019-5598

Verify that pf correctly drops inconsistent ICMP packets (i.e. where the
IP src/dst do not match the IP src/dst in the ICMP packet.

5 years agoAdd nvme support to the arm64 GENERIC kernel.
cperciva [Fri, 22 Mar 2019 06:36:40 +0000 (06:36 +0000)]
Add nvme support to the arm64 GENERIC kernel.

Submitted by: Greg V
Differential Revision: https://reviews.freebsd.org/D19657

5 years agoBuild if_ena.ko on arm64.
cperciva [Fri, 22 Mar 2019 06:33:26 +0000 (06:33 +0000)]
Build if_ena.ko on arm64.

This module provides support for the Amazon Elastic Network Adapter; it
was previously only built on x86 architectures, but Amazon EC2 now also
has ARM64 instances with this hardware.

Submitted by: Greg V

5 years agoInitialize uart_bus_space_mem.
cperciva [Fri, 22 Mar 2019 06:28:37 +0000 (06:28 +0000)]
Initialize uart_bus_space_mem.

This value was being used uninitialized, resulting in predictable issues
on systems with memory-mapped UART registers.

A case could be made that memmap_bus should be declared in a header
rather than being declared in each .c file which needs to refer to it,
but that's a broader style question.

This commit unbreaks hw.uart.console="mm:..." on ARM64.

Submitted by: Greg V

5 years agoObey SPCR AccessWidth parameter.
cperciva [Fri, 22 Mar 2019 06:21:03 +0000 (06:21 +0000)]
Obey SPCR AccessWidth parameter.

The "access width" value was hard-coded as 2, indicating 32-bit accesses;
instead, use the value specified in the SPCR table.

This unbreaks the console on EC2 "A1" family instances.

Submitted by: Greg V

5 years agoFrom r345400, remove the ippool rc script when ipfilter is not wanted
cy [Fri, 22 Mar 2019 01:43:55 +0000 (01:43 +0000)]
From r345400, remove the ippool rc script when ipfilter is not wanted
by the user.

PR: 218433
MFC after: 2 weeks
X-MFC with: r345400

5 years agopowerpc64: Handle the modern (2.05+) implementaiton of tlbie
jhibbits [Fri, 22 Mar 2019 01:43:31 +0000 (01:43 +0000)]
powerpc64: Handle the modern (2.05+) implementaiton of tlbie

By happenstance gcc4 puts 'vpn' into r0 in all uses of TLBIE(), but modern
gcc does not.  Also, the single-argument form of tlbie zeros all unused
arguments, making the modern tlbie instruction use r0 as the RS field
(LPID).

The vpn argument has the bottom 12 bits cleared (the input having been
left-shifted by 12 bits), which just so happens, on the POWER9 and previous
incarnations, to be the number of LPID bits supported.  With those bits
being zero, the instruction:

tlbie r0, r0

will invalidate the VPN in r0, in LPAR 0 (ignoring the upper bits of r0 for
the RS field).  One build with gcc8 yields:

tlbie r9, r0

with r0 having arbitrary contents, not equal to r9.  This leads to strange
crashes, behaviors, and panics, due to the requested TLB entry not actually
being invalidated.

As the moea64_native must work on both old and new, we explicitly zero out
r0 so that it can work with only the single argument, built with base gcc
and modern gcc.  isa3_hashtb takes a different approach, encoding the
two-argument form, soas not to explicitly clobber r0, and instead let the
compiler decide.

Reported by: Brandon Bergren
Tested by: Brandon Bergren
MFC after: 1 week

5 years agoFrom r345400, connect ippool to the build/install.
cy [Fri, 22 Mar 2019 01:42:27 +0000 (01:42 +0000)]
From r345400, connect ippool to the build/install.

PR: 218433
MFC after: 2 weeks
X-MFC with: r345400

5 years agoAdd rc.d support for ippool(8).
cy [Fri, 22 Mar 2019 01:30:51 +0000 (01:30 +0000)]
Add rc.d support for ippool(8).

I've been using ippool at my site for approximately two years. It's
about time this was committed.

PR: 218433
MFC after: 2 weeks

5 years agoCatch up with Clang 8.0.
jkim [Thu, 21 Mar 2019 21:45:02 +0000 (21:45 +0000)]
Catch up with Clang 8.0.

5 years agoCatch up with Clang 7.0.
jkim [Thu, 21 Mar 2019 21:43:23 +0000 (21:43 +0000)]
Catch up with Clang 7.0.

MFC after: 3 days

5 years agoFix smartpqi(4) malloc tag and description to match the driver name.
trasz [Thu, 21 Mar 2019 21:14:25 +0000 (21:14 +0000)]
Fix smartpqi(4) malloc tag and description to match the driver name.
No functional changes.

Reviewed by: sbruno
MFC after: 2 weeks
Sponsored by: Klara Inc.
Differential Revision: https://reviews.freebsd.org/D19625

5 years agoUse an explicit comparison with VM_GUEST_NO.
markj [Thu, 21 Mar 2019 20:07:50 +0000 (20:07 +0000)]
Use an explicit comparison with VM_GUEST_NO.

Reported by: jhb
MFC with: r345359
Sponsored by: The FreeBSD Foundation

5 years agoDisallow preemptive creation of wired superpage mappings.
markj [Thu, 21 Mar 2019 19:52:50 +0000 (19:52 +0000)]
Disallow preemptive creation of wired superpage mappings.

There are some unusual cases where a process may cause an mlock()ed
range of memory to be unmapped.  If the application subsequently
faults on that region, the handler may attempt to create a superpage
mapping backed by the resident, wired pages.  However, the pmap code
responsible for creating such a mapping (pmap_enter_pde() on i386
and amd64) does not ensure that a leaf page table page is available
if the superpage is later demoted; the demotion operation must therefore
perform a non-blocking page allocation and must unmap the entire
superpage if the allocation fails.  The pmap layer ensures that this
can never happen for wired mappings, and so the case described above
breaks that invariant.

For now, simply ensure that the MI fault handler never attempts to
create a wired superpage except via promotion.

Reviewed by: kib
Reported by: syzbot+292d3b0416c27c131505@syzkaller.appspotmail.com
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D19670

5 years agoAlways create ipfw(4) hooks as long as module is loaded.
glebius [Thu, 21 Mar 2019 16:15:29 +0000 (16:15 +0000)]
Always create ipfw(4) hooks as long as module is loaded.

Now enabling ipfw(4) with sysctls controls only linkage of hooks to default
heads. When module is loaded fetch sysctls as tunables, to make it possible
to boot with ipfw(4) in kernel, but not linked to any pfil(9) hooks.

5 years agoarc4random: Adjust example code to use uniform() API
cem [Thu, 21 Mar 2019 14:45:08 +0000 (14:45 +0000)]
arc4random: Adjust example code to use uniform() API

PR: 236678
Reported by: Andras Farkas <deepbluemistake AT gmail.com>

5 years agoBump the IMAGE_SIZE for arm64 SoC images to prevent failures due
gjb [Thu, 21 Mar 2019 14:17:55 +0000 (14:17 +0000)]
Bump the IMAGE_SIZE for arm64 SoC images to prevent failures due
to full filesystem.  This makes the size of the arm64 SoC images
consistent with armv6 and armv7.

MFC after: 3 days
Sponsored by: The FreeBSD Foundation

5 years agonullfs: fix unmounts when filesystem is active.
kib [Thu, 21 Mar 2019 13:30:48 +0000 (13:30 +0000)]
nullfs: fix unmounts when filesystem is active.

If vflush() did not completely flushed the mount vnodes queue, either
retry for forced unmounts, or give up for non-forced.  This situation
can occur when new vnodes are instantiated while vflush() worked.

Reported and tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week

5 years agoAdd bus_release_resource() method to nexus on arm64
mw [Thu, 21 Mar 2019 10:51:36 +0000 (10:51 +0000)]
Add bus_release_resource() method to nexus on arm64

The nexus module was missing method for releasing bus resources. As a
result, it couldn't be released and the bus_release_resource() call would
return ENXIO.

Next call to bus_alloc_resource() for the same resource was returning
error, because it wasn't released previously and it was still busy.

The implementation of the nexus_release_resource() is the same as for
arm architecture.

Submitted by:  Michal Krawczyk <mk@semihalf.com>
Reported-by: Greg V <greg@unrelenting.technology>
Tested-by: cperciva, Greg V <greg@unrelenting.technology>
Obtained from: Semihalf
MFC after:     2 weeks
Sponsored by:  Amazon, Inc.
Differential revision: https://reviews.freebsd.org/D19641

5 years agoWhitespace cleanup in sdhci.c
bz [Thu, 21 Mar 2019 10:50:36 +0000 (10:50 +0000)]
Whitespace cleanup in sdhci.c

No functional changes.  Replace whitespace by tabs, indent with 4 spaces,
coalesce multi-line shorter than 80 characters,

MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation

5 years agoPrevent double activation of admin interrupt in ENA
mw [Thu, 21 Mar 2019 10:46:10 +0000 (10:46 +0000)]
Prevent double activation of admin interrupt in ENA

The resource is already being activated in the bus_alloc_resource(),
because the flag RF_ACTIVE is being passed.

Double activation on arm64 is causing kernel panic.

Version of the driver was upgraded to 0.8.4.

Submitted by:  Michal Krawczyk <mk@semihalf.com>
Reported-by: Greg V <greg@unrelenting.technology>
Tested-by: cperciva, Greg V <greg@unrelenting.technology>
Obtained from: Semihalf
MFC after:     2 weeks
Sponsored by:  Amazon, Inc.
Differential revision: https://reviews.freebsd.org/D19655

5 years agoAlign struct sdhci_slot MMCCAM members.
bz [Thu, 21 Mar 2019 10:23:02 +0000 (10:23 +0000)]
Align struct sdhci_slot MMCCAM members.

Whitespace only, no functional change.

MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation

5 years agoRecognize the Amazon PCI serial device found in a1.* EC2 instances
cperciva [Thu, 21 Mar 2019 08:54:34 +0000 (08:54 +0000)]
Recognize the Amazon PCI serial device found in a1.* EC2 instances
as an NS8250 UART.

This is the same as the UART found in EC2 "bare metal" instances,
except that the card vendor shows up as 0x0000 rather than 0x1d0f.
This seems like a bug in the EC2 firmware; but we might as well support
it anyway.

Reported by: Greg V

5 years agoAttach the vmci(4) man page to the build. Looks like it's been
trasz [Thu, 21 Mar 2019 08:51:32 +0000 (08:51 +0000)]
Attach the vmci(4) man page to the build.  Looks like it's been
missed by mistake.

MFC after: 2 weeks
Sponsored by: DARPA, AFRL

5 years agopf tests: Move Sniffer to its own file
kp [Thu, 21 Mar 2019 08:15:46 +0000 (08:15 +0000)]
pf tests: Move Sniffer to its own file

Make it easier to re-use the sniffer class in other test support
scripts.

5 years agopf: Ensure that IP addresses match in ICMP error packets
kp [Thu, 21 Mar 2019 08:09:52 +0000 (08:09 +0000)]
pf: Ensure that IP addresses match in ICMP error packets

States in pf(4) let ICMP and ICMP6 packets pass if they have a
packet in their payload that matches an exiting connection.  It was
not checked whether the outer ICMP packet has the same destination
IP as the source IP of the inner protocol packet.  Enforce that
these addresses match, to prevent ICMP packets that do not make
sense.

Reported by: Nicolas Collignon, Corentin Bayet, Eloi Vanderbeken, Luca Moro at Synacktiv
Obtained from: OpenBSD
Security: CVE-2019-5598

5 years agoRemove -n flag, fix setting date / time
imp [Thu, 21 Mar 2019 06:47:23 +0000 (06:47 +0000)]
Remove -n flag, fix setting date / time

r342139 bork setting the date. This fixes it by simply removing the -n
flag.

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

5 years agoIn case of ENCODING_8BIT the EOF code will be pass to putchar.
oshogbo [Thu, 21 Mar 2019 06:31:14 +0000 (06:31 +0000)]
In case of ENCODING_8BIT the EOF code will be pass to putchar.
EOF check should be done before (uint8_t)c > 127 test.

Reported by: cem

5 years agoMake WD and WDC aliases for HGST.
imp [Thu, 21 Mar 2019 06:27:58 +0000 (06:27 +0000)]
Make WD and WDC aliases for HGST.

HGST was bought by WDC. Over the years, it has sold different drives
branded as HGST, WD or WDC. All of them need the HGST workaround of
sending 4k-sized packets (or multiples of 4k). And the ones that don't
really need this aren't broken by this change. Submitter is the vendor
who has tested these changes on a number of drives. I've simplified it
slightly, since we don't need additional vendors for this at this
time.

Submitted by: JacobBurley via github on behalf of WDC
Pull Request: https://github.com/freebsd/freebsd/pull/391

5 years agoFix powerpc and arm builds after r345361.
oshogbo [Thu, 21 Mar 2019 06:20:33 +0000 (06:20 +0000)]
Fix powerpc and arm builds after r345361.

Reported by: jenkins

5 years agostrings: do not continue if getc or getcharacter returns EOF
oshogbo [Thu, 21 Mar 2019 05:24:44 +0000 (05:24 +0000)]
strings: do not continue if getc or getcharacter returns EOF

Reported by: cem

5 years agostrings: do not depend on stdin
oshogbo [Thu, 21 Mar 2019 05:00:24 +0000 (05:00 +0000)]
strings: do not depend on stdin

Instead of depending on one stdin FILE structure and use freopen(3), pass to
the functions appropriate FILE structure.

Reviewed by: cem
Discussed with: emaste
Differential Revision: https://reviews.freebsd.org/D18037

5 years agoDon't attempt to measure TSC skew when running as a VM guest.
markj [Thu, 21 Mar 2019 02:52:22 +0000 (02:52 +0000)]
Don't attempt to measure TSC skew when running as a VM guest.

It simply doesn't work in general since VCPUs may migrate between
physical cores.  The approach used to measure skew also doesn't
make much sense in a VM.

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

5 years agoEnsure that we use a 64-bit value for the last mmap() argument.
markj [Wed, 20 Mar 2019 23:35:15 +0000 (23:35 +0000)]
Ensure that we use a 64-bit value for the last mmap() argument.

When using __syscall(2), the offset argument is passed on the stack on
amd64.  Previously only 32 bits were written, so the upper 32 bits were
garbage and could cause the test to fail.

MFC after: 3 days
Sponsored by: The FreeBSD Foundation

5 years agogoogletest: backport GTEST_SKIP to googletest 1.8.1
asomers [Wed, 20 Mar 2019 23:15:58 +0000 (23:15 +0000)]
googletest: backport GTEST_SKIP to googletest 1.8.1

This commit backports revisions 00938b2b228f3b70d3d9e51f29a1505bdad43f1e and
59f90a338bce2376b540ee239cf4e269bf6d68ad from googletest's master branch to
our included version of googletest, which is based on 1.8.1. It adds the
GTEST_SKIP feature, which is very useful for a project like FreeBSD where
some tests depend on particular system configurations.

Reviewed by: ngie
Obtained from: github.com/google/googletest
MFC after: 2 months
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/rS345331

5 years agoThis is an additional and hopefully final fix for bug report 230962.
mckusick [Wed, 20 Mar 2019 23:11:05 +0000 (23:11 +0000)]
This is an additional and hopefully final fix for bug report 230962.
This bug was introduced with the change to use softdep_bp_to_mp()
in January 2018 changes -r327723 and -r327821. The softdep_bp_to_mp()
function failed to include VSOCK as one of the valid cases.

Although local-domain sockets do not allocate blocks in the filesystem,
they will allocate blocks if they use extended attributes (such as
ACLs). Thus, softdep_bp_to_mp() needs to return a non-NULL mount
pointer when presented with a socket vnode so that the soft updates
write complete will properly process the soft updates structures
associated with the extended attribute blocks. It was the failure
to process these soft updates structures, thus leaving them hanging
off the buffer, which lead to the "panic: softdep_deallocate_dependencies:
dangling deps" when trying to clean up the buffer after it was written.

PR:           230962
Reported by:  2t8mr7kx9f@protonmail.com
Reviewed by:  kib
Tested by:    Peter Holm
MFC after:    1 week
Sponsored by: Netflix

5 years agoBuild common kernel dependencies before modules.
bdrewery [Wed, 20 Mar 2019 22:49:41 +0000 (22:49 +0000)]
Build common kernel dependencies before modules.

This ensures files like genassym.o and awk/mfiles are generated before
descending into the modules build.  It may also allow some module builds
to not recreate files that are already present in the KERNBUILDDIR.

This fixes a rare build race where genassym.o is missing and assym.inc
is empty.

More work is planned around this to reduce some redundant dependency
generation in modules.

PR: 233339
MFC after: 2 weeks
Reported by: markj

5 years agoRename fuse(4) to fusefs(4)
asomers [Wed, 20 Mar 2019 21:48:43 +0000 (21:48 +0000)]
Rename fuse(4) to fusefs(4)

This makes it more consistent with other filesystems, which all end in "fs",
and more consistent with its mount helper, which is already named
"mount_fusefs".

Reviewed by: cem, rgrimes
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D19649

5 years agoPull in r352826 from upstream lld trunk (by Fangrui Song):
dim [Wed, 20 Mar 2019 20:57:11 +0000 (20:57 +0000)]
Pull in r352826 from upstream lld trunk (by Fangrui Song):

  [ELF] Support --{,no-}allow-shlib-undefined

  Summary:
  In ld.bfd/gold, --no-allow-shlib-undefined is the default when
  linking an executable. This patch implements a check to error on
  undefined symbols in a shared object, if all of its DT_NEEDED entries
  are seen.

  Our approach resembles the one used in gold, achieves a good balance
  to be useful but not too smart (ld.bfd traces all DSOs and emulates
  the behavior of a dynamic linker to catch more cases).

  The error is issued based on the symbol table, different from
  undefined reference errors issued for relocations. It is most
  effective when there are DSOs that were not linked with -z defs (e.g.
  when static sanitizers runtime is used).

  gold has a comment that some system libraries on GNU/Linux may have
  spurious undefined references and thus system libraries should be
  excluded (https://sourceware.org/bugzilla/show_bug.cgi?id=6811). The
  story may have changed now but we make --allow-shlib-undefined the
  default for now. Its interaction with -shared can be discussed in the
  future.

  Reviewers: ruiu, grimar, pcc, espindola

  Reviewed By: ruiu

  Subscribers: joerg, emaste, arichardson, llvm-commits

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

Pull in r352943 from upstream lld trunk (by Fangrui Song):

  [ELF] Default to --no-allow-shlib-undefined for executables

  Summary:
  This follows the ld.bfd/gold behavior.

  The error check is useful as it captures a common type of ld.so
  undefined symbol errors as link-time errors:

      // a.cc => a.so (not linked with -z defs)
      void f(); // f is undefined
      void g() { f(); }

      // b.cc => executable with a DT_NEEDED entry on a.so
      void g();
      int main() { g(); }

      // ld.so errors when g() is executed (lazy binding) or when the program is started (-z now)
      // symbol lookup error: ... undefined symbol: f

  Reviewers: ruiu, grimar, pcc, espindola

  Reviewed By: ruiu

  Subscribers: llvm-commits, emaste, arichardson

  Tags: #llvm

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

Together, these add support for --no-allow-shlib-undefined, and make it
the default for executables, so they will fail to link if any symbols
from needed shared libraries are undefined.

Reported by: jbeich
PR: 236062, 236141
MFC after: 1 month
X-MFC-With: r344779

5 years agoUse -fdebug-prefix-map to map auto-generated kernel build paths.
markj [Wed, 20 Mar 2019 20:42:44 +0000 (20:42 +0000)]
Use -fdebug-prefix-map to map auto-generated kernel build paths.

The kernel build uses symlinks to make MD #includes like <machine/pcpu.h>
work.  Debug info ends up referencing these symlinks in a relative path,
so debuggers generally don't know how to find the corresponding headers.
Address this by using -fdebug-prefix-map to map relative paths through
the symlinks to their absolute paths in the source tree.  This is
consistent with how regular source file paths are defined in the
kernel's debug info.

Also map the current directory to an absolute path to the object
directory.  This gives debuggers a chance to find auto-generated files
like vnode_if.c if the object directory is available.

Reviewed by: emaste, jhb (previous version)
MFC after: 1 month
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D19633

5 years agoMerge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
dim [Wed, 20 Mar 2019 19:18:26 +0000 (19:18 +0000)]
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
8.0.0 final release r356365.  There were no functional changes since the
most recent merge, of 8.0.0 rc5.

Release notes for llvm, clang, lld and libc++ 8.0.0 are now available:

https://llvm.org/releases/8.0.0/docs/ReleaseNotes.html
https://llvm.org/releases/8.0.0/tools/clang/docs/ReleaseNotes.html
https://llvm.org/releases/8.0.0/tools/lld/docs/ReleaseNotes.html
https://llvm.org/releases/8.0.0/projects/libcxx/docs/ReleaseNotes.html

PR: 236062
MFC after: 1 month
X-MFC-With: r344779

5 years agocxgbe(4): Treat the viid as an opaque identifier.
np [Wed, 20 Mar 2019 17:27:11 +0000 (17:27 +0000)]
cxgbe(4): Treat the viid as an opaque identifier.

Recent firmwares prefer to use a different format for viid internally
and this change allows them to do so.

MFC after: 1 week
Sponsored by: Chelsio Communications

5 years agoAdd some Cannon Lake chipset IDs.
mav [Wed, 20 Mar 2019 17:27:00 +0000 (17:27 +0000)]
Add some Cannon Lake chipset IDs.

Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
MFC after: 2 weeks

5 years agoTune chipset naming.
mav [Wed, 20 Mar 2019 17:21:17 +0000 (17:21 +0000)]
Tune chipset naming.

Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
MFC after: 2 weeks

5 years agogoogletest: backport GTEST_SKIP to googletest 1.8.1
asomers [Wed, 20 Mar 2019 17:11:25 +0000 (17:11 +0000)]
googletest: backport GTEST_SKIP to googletest 1.8.1

This commit backports revisions 00938b2b228f3b70d3d9e51f29a1505bdad43f1e and
59f90a338bce2376b540ee239cf4e269bf6d68ad from googletest's master branch to
our included version of googletest, which is based on 1.8.1.  It adds the
GTEST_SKIP feature, which is very useful for a project like FreeBSD where
some tests depend on particular system configurations.

Obtained from: github.com/google/googletest
Sponsored by: The FreeBSD Foundation

5 years agoloader: fix loading of kernels with . in path
emaste [Wed, 20 Mar 2019 16:24:47 +0000 (16:24 +0000)]
loader: fix loading of kernels with . in path

The loader indended to search the kernel file name (only) for . but
instead searched the entire path, so paths like
"boot/test.elfv2/kernel" would not work.

Submitted by: alfredo.junior_eldorado.org.br
Reviewed by: kevans
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D19658

5 years agofuse(4): fix a race condition in the tests
asomers [Wed, 20 Mar 2019 16:08:07 +0000 (16:08 +0000)]
fuse(4): fix a race condition in the tests

Sometimes the fuse daemon doesn't die as soon as its /dev/fuse file
descriptor is closed; it needs to be unmounted first.

Sponsored by: The FreeBSD Foundation

5 years agovm_fault_copy_entry: accept invalid source pages.
kib [Wed, 20 Mar 2019 13:07:57 +0000 (13:07 +0000)]
vm_fault_copy_entry: accept invalid source pages.

Either msync(MS_INVALIDATE) or the object unlock during vnode
truncation can expose invalid pages backing wired entries.  Accept
them, but do not install them into destrination pmap.  We must create
copied pages in the copy case, because e.g. vm_object_unwire() expects
that the entry is fully backed.

Reported by: syzkaller, via emaste
Reported by: syzbot+514d40ce757a3f8b15bc@syzkaller.appspotmail.com
Reviewed by: markj
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D19615

5 years agonetmap: update unit tests
vmaffione [Wed, 20 Mar 2019 10:36:58 +0000 (10:36 +0000)]
netmap: update unit tests

Revision r345269 introduced changes that triggered a regression on netmap
unit tests (tests/sys/netmap/ctrl-api-test.c).
This change updates the unit tests to remove the regression.

Reported by: lwhsu
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D19639

5 years agoDo not enter epoch section recursively.
ae [Wed, 20 Mar 2019 10:11:21 +0000 (10:11 +0000)]
Do not enter epoch section recursively.

A pfil hook is already invoked in NET_EPOCH section.

5 years agoUse NET_EPOCH instead of allocating separate one.
ae [Wed, 20 Mar 2019 10:06:44 +0000 (10:06 +0000)]
Use NET_EPOCH instead of allocating separate one.

MFC after: 1 month

5 years agolockf(1): return EX_UNAVAILABLE if -n is used and the lock file does not
avos [Wed, 20 Mar 2019 07:40:38 +0000 (07:40 +0000)]
lockf(1): return EX_UNAVAILABLE if -n is used and the lock file does not
exist

Apply EX_UNAVAILABLE patch part from PR 170775 to match the documentation.

Checked with a command from PR 210770:
lockf -n /tmp/doesnotexist echo; echo $?

PR: 210770
MFC after: 1 week

5 years agoOnly install amazon-ssm-agent into amd64 AMIs.
cperciva [Wed, 20 Mar 2019 07:24:21 +0000 (07:24 +0000)]
Only install amazon-ssm-agent into amd64 AMIs.

This package does not exist on aarch64 at present.

5 years agoPass --arm64 to bsdec2-image-upload when building ARM64 AMIs.
cperciva [Wed, 20 Mar 2019 07:19:09 +0000 (07:19 +0000)]
Pass --arm64 to bsdec2-image-upload when building ARM64 AMIs.

Future commits will allow the resulting EC2 AMIs to actually boot and
be usable.

5 years agoiflib: mark isc_driver_version as constant
erj [Tue, 19 Mar 2019 23:44:26 +0000 (23:44 +0000)]
iflib: mark isc_driver_version as constant

From Jake:
The iflib core never modifies the isc_driver_version string. Allow
drivers to safely assign pointers to constant buffers by marking this
parameter const.

Submitted by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed by: erj@, gallatin@, jhb@
MFC after: 1 week
Sponsored by: Intel Corporation
Differential Revision: https://reviews.freebsd.org/D19577

5 years agoFix two typos: an -> and; the the -> the
imp [Tue, 19 Mar 2019 21:46:21 +0000 (21:46 +0000)]
Fix two typos: an -> and; the the -> the

And justify the paragraph after the change (and set fill column to 80
instead of 70).

Noticed by: rpokala@, vangyzen@

5 years agoImprove english grammar for kernel built time
wosch [Tue, 19 Mar 2019 19:58:40 +0000 (19:58 +0000)]
Improve english grammar for kernel built time

PR: 224433
Approved by: jhb
Differential Revision: https://reviews.freebsd.org/D19636