stsp [Sun, 14 Jan 2018 11:51:34 +0000 (11:51 +0000)]
Pass our currently configured SSID to iwm(4) scan commands.
This makes connecting to silly "hidden" networks work, which was a long
standing problem with iwm(4). My past observations where other SSIDs were
filtered from scan results while associated can no longer be reproduced.
ok robert phessler
mpi [Sun, 14 Jan 2018 09:32:09 +0000 (09:32 +0000)]
Fix after recent mutex change.
bluhm [Sun, 14 Jan 2018 00:53:11 +0000 (00:53 +0000)]
Unlocking the TCP stack resulted in smaller TCP segments sent out
early on some machines. Use the TCP_NOPUSH socket option to get
reliable regress results and syslogd(8) debug messages for grep.
bluhm [Sun, 14 Jan 2018 00:33:09 +0000 (00:33 +0000)]
Use signed values to compare absolute difference. The variables
fid and cfid are signed, so the FID_TO_VCO_FID() macro creates
signed results. Keep the sign when passing to abs() although the
implicit conversions created the same binary.
OK deraadt@
millert [Sat, 13 Jan 2018 20:40:43 +0000 (20:40 +0000)]
Add descriptions for HAVE_B64_NTOP and HAVE_B64_PTON so autoheader
will run. OK florian@
kettenis [Sat, 13 Jan 2018 18:08:20 +0000 (18:08 +0000)]
Make things work when using the official device tree bindings used by the
Linux kernel.
jmc [Sat, 13 Jan 2018 17:13:12 +0000 (17:13 +0000)]
tweak previous;
millert [Sat, 13 Jan 2018 15:57:58 +0000 (15:57 +0000)]
In ext2fs_write(), clear the buffer on uiomove() failure unless it
was cleared on alloc just like we do in ffs_write().
millert [Sat, 13 Jan 2018 15:56:02 +0000 (15:56 +0000)]
Add comment describing why we need to clear the buffer if uiomove()
fails, adapted from FreeBSD. Also avoid clearing the buffer if it
was cleared when allocated. OK deraadt@ otto@
tb [Sat, 13 Jan 2018 15:43:39 +0000 (15:43 +0000)]
Adjust comment to reflect '%F' addition.
mpi [Sat, 13 Jan 2018 15:18:11 +0000 (15:18 +0000)]
Define and use IPL_MPFLOOR in our common mutex implementation.
ok kettenis@, visa@
stsp [Sat, 13 Jan 2018 15:10:02 +0000 (15:10 +0000)]
In vldcp(8) fix a race between vldcpread() and vldcp_rx_intr() which
was overlooked by my previous fix.
Keep SPL at TTY in vldcpread() while manipulating the rx queue head.
Otherwise we could end up in a situation where:
1: vldcpread() reads rx_head
2: vldcpread() calls splx()
3: vldcp_rx_intr() fires, finds rx link is down, and sets rx_head = rx_tail
4: vlcdpread() resumes and sets rx_head to the value it read in step 1
-> same interrupt storm problem as described in my previous commit
ok kettenis@ mpi@
tb [Sat, 13 Jan 2018 15:09:49 +0000 (15:09 +0000)]
Allow printf '%F' format specifier.
ok millert
jsg [Sat, 13 Jan 2018 14:15:07 +0000 (14:15 +0000)]
Add a linux compatible request_firmware() wrapper around loadfirmware(9).
ok deraadt@ kettenis@
robert [Sat, 13 Jan 2018 13:03:42 +0000 (13:03 +0000)]
add kqueue support to drm(4) by making the drm_sysfs_hotplug_event()
available on OpenBSD well and by notifying listeners of a device
state change using EVFILT_DEVICE and NOTE_CHANGE.
drm_sysfs_hotplug_event() gets called when a state change of the device
occured, like an hdmi cable has been plugged, this in the future will
be used by the modesetting xorg driver to notify desktop environments
via randr events to update their screen configuration
ok kettenis@
robert [Sat, 13 Jan 2018 12:58:40 +0000 (12:58 +0000)]
introduce a filter called EVFILT_DEVICE that can be used to notify
listeners of device state changes.
currently only supports NOTE_CHANGE that will be used by drm(4)
ok kettenis@
bru [Sat, 13 Jan 2018 11:54:01 +0000 (11:54 +0000)]
coordinate again: polishing
kettenis [Sat, 13 Jan 2018 10:58:50 +0000 (10:58 +0000)]
Add a barrier at the end of pmap_map_early() such that the new mapping is
guaranteed to be available after pmap_map_early() returns. Fixes a hang
seen with the in-progress SMP work.
ok patrick@
schwarze [Sat, 13 Jan 2018 05:21:06 +0000 (05:21 +0000)]
catch up with how formatting of long links was changed
in both groff and mandoc
schwarze [Sat, 13 Jan 2018 05:20:10 +0000 (05:20 +0000)]
Remove the implicit display feature of .Lk because it was inconsistent
across output devices, counter-intuitive, and resulted in ugly
output for many real-world manual pages. Always format even long
links in-line. I already committed a similar change to groff.
OK jmc@, bentley@, and the original author
of the feature, Werner Lemberg <wl@gnu.org>.
schwarze [Sat, 13 Jan 2018 02:06:54 +0000 (02:06 +0000)]
remove unused parameter from the static function print_expansions();
patch from Michael W. Bombardieri <mb at ii dot net>;
OK tb@
naddy [Sat, 13 Jan 2018 00:24:09 +0000 (00:24 +0000)]
clarify authorship; prodded by and ok markus@
dlg [Fri, 12 Jan 2018 23:47:24 +0000 (23:47 +0000)]
have carp use standard detach hooks instead of getting special handling
if_deactivate looked for carp parent interfaces and called carp_ifdetach
to have children interfaces unplug themselves. this diff has the
carp interfaces register detach hooks on the parent instead. the
effect is the same, but using the standard every other interface
uses.
while im here i shuffle the order the hooks carp_set_ifp are
estabilshed so it will fail if they arent allocated.
ok visa@ mpi@
dlg [Fri, 12 Jan 2018 23:29:37 +0000 (23:29 +0000)]
unbreak configurations using carppeers
ip_carp.c r1.322 removed the ability to receive carp protocol packets
on !IFT_CARP interfaces. however, carppeers cause the carp protocol
packets to be directed to a unicast address on another interface,
which definitely is not mapped back to a carp interface.
this brings back the ability to get carp packets on parent interfaces.
it is a bit different to a backout because it only allows carp
parents to be ethernet interfaces.
mpi@ told me carp regress tests were failing.
kettenis [Fri, 12 Jan 2018 22:20:28 +0000 (22:20 +0000)]
Add MULTIPROCESSOR basics for arm64. Enough to build and run a kernel with
option MULTIPROCESSOR on a single CPU.
ok patrick@
deraadt [Fri, 12 Jan 2018 20:14:20 +0000 (20:14 +0000)]
Don't bother ucode updates in ramdisk. We don't have the files....
ok patrick
jmc [Fri, 12 Jan 2018 20:13:06 +0000 (20:13 +0000)]
apostrophe fix;
deraadt [Fri, 12 Jan 2018 17:43:05 +0000 (17:43 +0000)]
sync
nicm [Fri, 12 Jan 2018 16:43:47 +0000 (16:43 +0000)]
Do not collect top-bit-set characters in case they need to be replaced.
nicm [Fri, 12 Jan 2018 16:41:00 +0000 (16:41 +0000)]
Simplify character replacement on non-UTF-8 terminals and make a common
function.
nicm [Fri, 12 Jan 2018 16:32:12 +0000 (16:32 +0000)]
Simplify UTF-8 states down into one state.
kettenis [Fri, 12 Jan 2018 14:53:37 +0000 (14:53 +0000)]
Use correct size in allocarray() call.
ok patrick@
kettenis [Fri, 12 Jan 2018 14:52:55 +0000 (14:52 +0000)]
Runtime services may (and do) use device mappings on some UEFI implementations.
Skip these mappings during the remap-pahse as they are likely to be in
a different 512G bloch as memory and SetVirtualAddressMap() shouldn't need
them. But do assign a new virtual address and let efi(4) create a mapping.
Add a PMAP_DEVICE flag such that pmap_enter() can continue to be used
to create these mappings.
ok patrick@
jca [Fri, 12 Jan 2018 14:20:57 +0000 (14:20 +0000)]
Some more tweaks to NOTES
- it's safe to assume that there's no plan to write "an `agent' to
execute unreadable/setuid/setgid shell scripts"
- the BUG-REPORTS file has been removed
- update the entry for FPATH, ksh93 also documents the described behavior
- kill entry about octal and hex notation in arithmetic expressions
(supported)
- typos
Feedback from Klemens Nanni
jca [Fri, 12 Jan 2018 14:04:49 +0000 (14:04 +0000)]
Fix tyops
jca [Fri, 12 Jan 2018 13:54:10 +0000 (13:54 +0000)]
Add tests for [[:foo:]] character classes in globs
jca [Fri, 12 Jan 2018 11:13:29 +0000 (11:13 +0000)]
Add basic tests for octal and hex notation in arithmetic expansions
POSIX requires only decimal, octal and hex, tests for the $((x#number))
notation could be useful too.
jsg [Fri, 12 Jan 2018 11:03:15 +0000 (11:03 +0000)]
Constrain alloc_pages() to the dma_constraint range. Avoids a
"Non dma-reachable buffer" panic when trying to use it from ttm code on
a machine with 8GB of physmem and a radeon.
ok kettenis@ dlg@ visa@ deraadt@
patrick [Fri, 12 Jan 2018 10:33:07 +0000 (10:33 +0000)]
Correctly iterate over all extended signatures.
Found by markus@
With sf@
nicm [Fri, 12 Jan 2018 10:22:02 +0000 (10:22 +0000)]
Improve error message if creating socket parent directory fails, from
Thomas Adam for GitHub issue 1215.
nicm [Fri, 12 Jan 2018 10:16:03 +0000 (10:16 +0000)]
Improve logging for layout cells.
mpi [Fri, 12 Jan 2018 09:19:32 +0000 (09:19 +0000)]
Unify <machine/mutex.h> a bit further.
`mtx_owner' becomes the first field of 'struct mutex' on i386/amd64/arm64.
ok visa@
mlarkin [Fri, 12 Jan 2018 08:21:30 +0000 (08:21 +0000)]
IBRS -> IBRS,IBPB in identifycpu lines
mlarkin [Fri, 12 Jan 2018 08:11:47 +0000 (08:11 +0000)]
revert previous changes to enable dwiic on Dell precision as it seems
to cause issues on Dell XPS 15 9560. Will investigate and recommit later
if a better fix can be found.
jca [Fri, 12 Jan 2018 06:57:56 +0000 (06:57 +0000)]
Check that mpls has been enabled on the input interface, lost in rev 1.66
While here fix under MPLS_DEBUG. ok dlg@
tb [Fri, 12 Jan 2018 06:22:31 +0000 (06:22 +0000)]
Align cases in conversion switch vertically. Normalize logic inside cases
and drop an unnecessary test for intdata in '%c'.
reads ok to halex, ok millert
deraadt [Fri, 12 Jan 2018 04:36:44 +0000 (04:36 +0000)]
Adjust references for sysctl(3) to sysctl(2)
deraadt [Fri, 12 Jan 2018 04:36:12 +0000 (04:36 +0000)]
sysctl(3) can now be renamed to sysctl(2)
dlg [Fri, 12 Jan 2018 02:25:27 +0000 (02:25 +0000)]
move gif_encap from gif_output to gif_start.
the main win is the simplification of bpf in the ouput path.
ok visa@
dlg [Fri, 12 Jan 2018 02:19:47 +0000 (02:19 +0000)]
document bpfattach and bpfdetach.
dlg [Fri, 12 Jan 2018 00:36:13 +0000 (00:36 +0000)]
restrict carp to configuring ethernet interfaces as carpdevs.
previously the driver only cared that a carp interface wasnt configured
as a carpdev. because the code only really works on ethernet, it makes
sense to restrict it.
ok visa@ mpi@
bru [Thu, 11 Jan 2018 23:50:49 +0000 (23:50 +0000)]
Improve the handling of coordinate inputs and filters.
Single-touch and multi-touch coordinate inputs are treated more uniformly,
and the hysteresis filters have a more consistent implementation. If
possible, pointer control will be assigned to touches with coordinate
updates that pass the default hysteresis filter (the function has been
moved to wsmouse.c). The "strong" variant of hysteresis has been
improved, the new version won't double the threshold when a movement
changes the orientation on an axis.
There is an additional change in wstpad_configure, which ensures that a
zero size disables an edge area even if the coordinate limits are
misconfigured.
dlg [Thu, 11 Jan 2018 23:13:37 +0000 (23:13 +0000)]
cast the result of the ternary operators in __swapXX to the right type
ok kettenis@
let's try it deraadt@
rpe [Thu, 11 Jan 2018 22:44:44 +0000 (22:44 +0000)]
Comments
patrick [Thu, 11 Jan 2018 22:31:09 +0000 (22:31 +0000)]
Update the Intel microcode once the root filesystem has been mounted.
This depends on the intel-firmware package that contains newer Intel
microcode which will be installed automatically by fw_update(1).
The update should happen much earlier since updating the microcode can
add or remove not only feature flags but also whole features. For now
only update feature flags that are relevant to Spectre.
Initial diff from sf@
Tested by bluhm@
ok deraadt@
patrick [Thu, 11 Jan 2018 22:07:23 +0000 (22:07 +0000)]
Install the intel firmware package which contains microcode updates
if we match Intel CPUs in dmesg(8).
"do it do it" deraadt@
patrick [Thu, 11 Jan 2018 22:04:39 +0000 (22:04 +0000)]
Create a second hash that maps all possible drivers to a default regex
to match in dmesg(8). This is helpful if we want to install firmware
depending on dmesg(8) output that does not follow the typical driver
scheme.
From espie@
"do it do it" deraadt@
rpe [Thu, 11 Jan 2018 21:09:26 +0000 (21:09 +0000)]
- change [] tests to [[]]
- change -a, -o to &&, || inside [[]]
- remove unecessary quoting inside [[]]
- remove X"" constructs inside [[]]
- remove \ (line continuation) in case of &&, || and pipes
- replace backticks with $()
discussed with and OK aja@
OK tb
rpe [Thu, 11 Jan 2018 19:52:12 +0000 (19:52 +0000)]
Change the shebang line from /bin/sh to /bin/ksh in all base rc.d
daemon scripts.
discussed with and OK aja@
OK tb
patrick [Thu, 11 Jan 2018 19:33:34 +0000 (19:33 +0000)]
Extract the control channel number from the chanspec information and
apply the channel to the node, like iwm(4) does, when supplying the
scan response to the net80211 stack. Our stack uses this information
for node selection so it's elementary for it to be correct.
Tested by jcs@
gilles [Thu, 11 Jan 2018 19:20:41 +0000 (19:20 +0000)]
fix parsing of long TXT records, this prevents 'smtpctl spf walk' from
producing bogus entries with some SPF records.
ok ajacoutot@
patrick [Thu, 11 Jan 2018 18:58:17 +0000 (18:58 +0000)]
Postpone secondary CPUs until after mounthook activities. This is
useful for loading CPU microcode from the disk before the CPUs are
let go.
Tested by visa@ on sgi, loongson and octeon
"don't see immediate issues" kettenis@
ok deraadt@
patrick [Thu, 11 Jan 2018 16:09:19 +0000 (16:09 +0000)]
The PCI bwfm(4) chips have no TX rings in the traditional sense, as on
the actual rings we only share messages. Sending a TX packet means
putting a message on the ring which contains a pktid (which for us maps
to an mbuf) and the physical address of the mbuf. On jcs@'s macbook he
seems to run out of TX pktids pretty quickly during a speedtest. This
would mean that there are 2048 TX packets in flight that we either want
to send out or that have not been "acked" by the firmware yet. Either
way, recover from that situation when we hit that arbitrary limit by
restarting the queue after we free'd a packet from the TX pktid list.
Tested by jcs@
bluhm [Thu, 11 Jan 2018 16:02:31 +0000 (16:02 +0000)]
Advance data pointer after exporting SA type to userland. Otherwise
ipsecctl(8) may display bundled SA incorrectly.
from markus@
visa [Thu, 11 Jan 2018 15:49:34 +0000 (15:49 +0000)]
Add size for free.
OK mpi@
tb [Thu, 11 Jan 2018 14:53:42 +0000 (14:53 +0000)]
Remove arbitary length limits for -s, -b and -w. Based on a diff from kshe.
schwarze suggested using asprintf, which led to a substantial cleanup.
ok schwarze, help & ok millert
kevlo [Thu, 11 Jan 2018 09:27:20 +0000 (09:27 +0000)]
sync
kevlo [Thu, 11 Jan 2018 09:26:36 +0000 (09:26 +0000)]
Add support for Huawei E3372.
ok phessler@
bluhm [Thu, 11 Jan 2018 03:23:16 +0000 (03:23 +0000)]
Add tests for incoming route-to and outgoing reply-to rules. Disable
the cases that currently fail.
dlg [Thu, 11 Jan 2018 00:14:15 +0000 (00:14 +0000)]
carp_ourether gets passed the parent interface, not the carp interface.
dlg [Wed, 10 Jan 2018 23:50:39 +0000 (23:50 +0000)]
get rid of struct carp_if by moving the srpl into struct ifnet if_carp.
currently carp uses a struct carp_if to hold an srp list head, which
is accessed by both if_carp in struct ifnet, and via the if input
handlers list.
this gets rid of some indirection by making if_carp itself the list
head, rather than a pointer to the list head via a struct carp_if.
it also makes accessing the list consistent by only using if_carp
to get to it.
ok mpi@
kettenis [Wed, 10 Jan 2018 23:27:18 +0000 (23:27 +0000)]
Implement FUCKWIT for arm64; unmap the kernel almost entirely while userland
is running. This provides protection against meltown on cores that are
vilnerable (just Cortex-A75 so far) but also seems to be an essential to
protect against spectre-like attacks against the kernel.
This implementation only exposes a single treampoline page that does not
contain any kernel virtual addresses and also hides the real virtual address
of the exception vectors, which helps on cores vulnerable to "variant 3a"
(Cortex-A57, Cortex-A72). The implementation is inspired by the work done
by Will Deacon for Linux, but there are no knobs to turn it off. The
overhead is fairly limited: around 3-4% slowdown on Cortex-A57.
ok patrick@, deraadt@
bluhm [Wed, 10 Jan 2018 18:14:34 +0000 (18:14 +0000)]
Mark sosplice task mp safe, do not grab kernel lock for tcp output.
OK mpi@
jcs [Wed, 10 Jan 2018 17:54:26 +0000 (17:54 +0000)]
Attach bwfm to the Broadcom 4350 found in the 2017 MacBook.
Easily handles >150Mbps transfers through a 5Ghz AP.
ok patrick
(Committed via bwfm0, of course)
jcs [Wed, 10 Jan 2018 15:52:36 +0000 (15:52 +0000)]
regen
jcs [Wed, 10 Jan 2018 15:52:23 +0000 (15:52 +0000)]
add broadcom bcm4350
jcs [Wed, 10 Jan 2018 15:45:46 +0000 (15:45 +0000)]
Attach nvme to additional Apple NVMe device, limit targets to 1
ok dlg
jcs [Wed, 10 Jan 2018 15:44:56 +0000 (15:44 +0000)]
regen
jcs [Wed, 10 Jan 2018 15:44:41 +0000 (15:44 +0000)]
add another Apple NVMe
sthen [Wed, 10 Jan 2018 14:59:59 +0000 (14:59 +0000)]
Don't require "disk" or "kernel", also allow just "cdrom" instead, a VM can
still be useful with only cdrom storage. ok ccardenas@
jmc [Wed, 10 Jan 2018 14:30:07 +0000 (14:30 +0000)]
add bwfm; ok patrick
bluhm [Wed, 10 Jan 2018 13:57:17 +0000 (13:57 +0000)]
Use pf_send_icmp() consistently in pf_route(). It sets the routing
domain and other mbuf flags. In pf_route6() the bad packet counter
and dup-to check were missing.
OK visa@
dlg [Wed, 10 Jan 2018 10:25:52 +0000 (10:25 +0000)]
simplify the input interface type check in carp_proto_input_if.
carp6_proto_input_if only handles packets "received" on real carp
interfaces, which the ethernet stack goes to a lot of trouble to
provide. since carp assumes ethernet, carp_proto_input_if can assume
the packets will come in right too.
ok mpi@
ratchov [Wed, 10 Jan 2018 09:05:48 +0000 (09:05 +0000)]
Simplify bounds checking of client numbers of channels and rate. From
Michael W. Bombardieri, thanks.
ratchov [Wed, 10 Jan 2018 09:03:26 +0000 (09:03 +0000)]
Remove assignement of sc->round to itself that makes no sense. From
Michael W. Bombardieri, thanks.
ratchov [Wed, 10 Jan 2018 09:00:40 +0000 (09:00 +0000)]
Make azalia_free_dmamem() void, as its return value is not used. From
Michael W. Bombardieri, thanks.
patrick [Wed, 10 Jan 2018 02:15:22 +0000 (02:15 +0000)]
Add firmware names for the two revisions of the Broadcom 4350 as seen
on a MacBook 12-inch (2017).
Tested by and with jcs@
patrick [Wed, 10 Jan 2018 02:07:11 +0000 (02:07 +0000)]
Don't reset the internal memory core on chips other than the Broadcom
43602, as it's only necessary on that specific chip.
Found the hard way by jcs@ on a MacBook 12-inch (2017)
patrick [Wed, 10 Jan 2018 02:02:55 +0000 (02:02 +0000)]
Update manpage to reflect changes to bwfm(4) which allow Host AP mode
and the PCI attachment driver.
patrick [Wed, 10 Jan 2018 01:43:01 +0000 (01:43 +0000)]
Move line for readability.
dlg [Wed, 10 Jan 2018 00:14:38 +0000 (00:14 +0000)]
shuffle how the protocol family input is done in ether_input.
the main change is to defer chopping the ethernet header off until the
ether_type is looked at. the main advantage of this is pppoe doesn't have
to reattach the ether header anymore, which simplifies the code a lot.
ok mpi@ visa@ bluhm@
dlg [Wed, 10 Jan 2018 00:05:06 +0000 (00:05 +0000)]
fix some poop that snuck into the last commit.
noticed by bijanebrahimi at riseup dot net and confirmed by anton@
cheloha [Tue, 9 Jan 2018 17:59:29 +0000 (17:59 +0000)]
Extract compile_mode command status with WEXITSTATUS.
Also tell the user if the parent shell spawned by popen(3)
was killed by a signal.
Discussed with jca@.
ok millert@ jca@ deraadt@
mpi [Tue, 9 Jan 2018 17:50:57 +0000 (17:50 +0000)]
Stop grabing the KERNEL_LOCK() for running protocol input routines.
The NET_LOCK() is already held in this thread and is now enough.
People interested in ARP/bridge(4)/switch(4)/pipex(4)/pppoe(4)
performances can now push the KERNEL_LOCK() without depending on
other subsystems/drivers.
Tested by Hrvoje Popovski.
ok bluhm@, visa@
bluhm [Tue, 9 Jan 2018 15:24:24 +0000 (15:24 +0000)]
Creating a cloned interface could return ENOMEM due to temporary
memory shortage. As it is invoked from a system call, it should
not fail and wait instead.
OK visa@ mpi@
mpi [Tue, 9 Jan 2018 15:14:23 +0000 (15:14 +0000)]
Change `so_state' and `so_error' to unsigned int such that they can
be atomically read from any context.
ok bluhm@, visa@
jsg [Tue, 9 Jan 2018 14:23:03 +0000 (14:23 +0000)]
lock->ctx != NULL => lock->ctx
requested by kettenis@
jsg [Tue, 9 Jan 2018 13:48:36 +0000 (13:48 +0000)]
Work around a problem with ww_mutexes in the drm modeset lock.
Screen blanks often result in a NULL dereference in __ww_mutex_lock with
lock->acquired being non zero and lock->ctx NULL. mpi@ also reported
it occuring when switching from Xorg to a virtual terminal.
ok mpi@
mpi [Tue, 9 Jan 2018 10:19:25 +0000 (10:19 +0000)]
Do not truncate 64bit integers when pretty-printing types.
mpi [Tue, 9 Jan 2018 10:08:01 +0000 (10:08 +0000)]
Use ip{,6}_send() instead of ip{,6}_output() to prevent a recursion.
if_start() is a boundary between the network stack and drivers. The
states it modifies must be protected by the driver, so we should not
require the NET_LOCK() there.
ok bluhm@, visa@