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@
mpi [Tue, 9 Jan 2018 10:02:02 +0000 (10:02 +0000)]
Stop printing <not displayed> for wireless keys we know the kernel no
longer export them to userland.
ok stsp@, deraadt@, jca@
mpi [Tue, 9 Jan 2018 10:00:12 +0000 (10:00 +0000)]
Do not silently truncate the firmware channel number.
Fix build with gcc, ok stsp@
dlg [Tue, 9 Jan 2018 06:24:14 +0000 (06:24 +0000)]
make mpls_input take a struct ifnet *ifp argument.
this makes it like all our other protocol family input functions.
mpls_input always looks up the interface the mbuf was received on,
but it's always called by code that already has a reference to that
interface anyway. the result of this is a few less if_get/if_put
calls.
ok mpi@ bluhm@ visa@ claudio@
deraadt [Tue, 9 Jan 2018 04:05:49 +0000 (04:05 +0000)]
sync
bluhm [Tue, 9 Jan 2018 00:43:10 +0000 (00:43 +0000)]
Rename test file =.err to eq.err for simpler make file scripts.
patrick [Mon, 8 Jan 2018 23:30:36 +0000 (23:30 +0000)]
Fix indentation.
patrick [Mon, 8 Jan 2018 23:30:11 +0000 (23:30 +0000)]
Initial support for HOSTAP mode. With this bwfm(4) can spawn an access
point including WPA2 support. We now have a different event mask per
mode, so that events that are only useful for STA mode don't interfere
with HOSTAP mode. Power savings is disabled when we act as AP. The
connection events generate 802.11 frames for handling auth/assoc and
deauth/deassoc so that our stack takes note of the connecting nodes.
bluhm [Mon, 8 Jan 2018 23:05:21 +0000 (23:05 +0000)]
Convert IF_CLONE_INITIALIZER() into C99 initializer.
OK mpi@
mpi [Mon, 8 Jan 2018 22:33:13 +0000 (22:33 +0000)]
Do not pass a userland pointer to ktrabstimespec().
Prevents an infinite pagefault/pmap_enter() loop when ktracing apps
doing a lot of futex(2) calls like firefox & chrome.
benno [Mon, 8 Jan 2018 22:22:28 +0000 (22:22 +0000)]
update comments that were left behind in the recent unifdef JOB commit
from Klemens Nanni, thanks.
anton [Mon, 8 Jan 2018 18:21:22 +0000 (18:21 +0000)]
Fix typo in comment; ok mpi@
patrick [Mon, 8 Jan 2018 17:57:48 +0000 (17:57 +0000)]
In AP mode multicast packets share the flowrings with broadcast
packets.
patrick [Mon, 8 Jan 2018 17:53:07 +0000 (17:53 +0000)]
The bwfm(4) TX ring expects the ethernet header as part of the TX info
struct. The data length is the length of the frame without the header.
In the previous version m_adj(9) is used, but since that was changed we
need to decrease the length ourselves.
patrick [Mon, 8 Jan 2018 17:29:21 +0000 (17:29 +0000)]
Guard the debug printf function behind BWFM_DEBUG as well. Also only
print the firmware's dmesg(8) if we're running with a higher debug
mode.
Prompted by Michael W. Bombardieri
visa [Mon, 8 Jan 2018 16:44:32 +0000 (16:44 +0000)]
Move SC_* defines into <machine/setjmp.h>, and rename them,
so that <machine/signal.h> is not needed in setjmp.S.
Suggested by kettenis@ long ago, OK deraadt@
millert [Mon, 8 Jan 2018 16:16:16 +0000 (16:16 +0000)]
Pass correct size to uvm_vnp_setsize() for large files.
millert [Mon, 8 Jan 2018 16:15:34 +0000 (16:15 +0000)]
Add kqueue support for ext2fs based on ffs. OK deraadt@
markus [Mon, 8 Jan 2018 15:37:21 +0000 (15:37 +0000)]
group shared source files (e.g. SRCS_KEX) and allow compilation w/o OPENSSL
ok djm@
markus [Mon, 8 Jan 2018 15:21:49 +0000 (15:21 +0000)]
move subprocess() so scp/sftp do not need uidswap.o; ok djm@
markus [Mon, 8 Jan 2018 15:18:46 +0000 (15:18 +0000)]
switch ssh-pkcs11-helper to new API; ok djm@
markus [Mon, 8 Jan 2018 15:15:17 +0000 (15:15 +0000)]
only ssh-keygen needs uuencode.o; only scp/sftp use progressmeter.o
markus [Mon, 8 Jan 2018 15:14:44 +0000 (15:14 +0000)]
uuencode.h is not used
markus [Mon, 8 Jan 2018 15:15:36 +0000 (15:15 +0000)]
split client/server kex; only ssh-keygen needs uuencode.o;
only scp/sftp use progressmeter.o; ok djm@
visa [Mon, 8 Jan 2018 13:44:43 +0000 (13:44 +0000)]
Override membar_producer() for octeon.
OK dlg@
jca [Mon, 8 Jan 2018 13:39:06 +0000 (13:39 +0000)]
Drop two outdated entries
Namely POSIX character classes and tilde expansion within parameter
substitution. While here, kill a useless line and fix a typo.
From Klemens Nanni
millert [Mon, 8 Jan 2018 13:01:31 +0000 (13:01 +0000)]
Remove unused "args" param from kb_add(), it is always NULL.
OK anton@ jca@
otto [Mon, 8 Jan 2018 12:20:23 +0000 (12:20 +0000)]
optimization and some cleanup; mostly from kshe (except the unmap() part)
jca [Mon, 8 Jan 2018 12:08:17 +0000 (12:08 +0000)]
Kill entries that are obviously outdated/out of scope
Pointed out by Klemens Nanni who had ~ the same diff
mpi [Mon, 8 Jan 2018 12:02:42 +0000 (12:02 +0000)]
TIOCUCNTL is now allowed by promise "tty".
Reminded by jmc@
mpi [Mon, 8 Jan 2018 11:58:27 +0000 (11:58 +0000)]
Enable TIOCUCNTL to be able to set ns8250's break detected condition.
It is now possible to send BREAK commands to vmd(8) independently of
the serial terminal emulator.
Happy virtual ddb(4) hacking!
No objection from mlarkin@, ok nicm@, ccardenas@, deraadt@
mpi [Mon, 8 Jan 2018 11:54:28 +0000 (11:54 +0000)]
Allow TIOCUCNTL issued on a pty(4) master in promise "tty".
This will be soon be used to emulate BREAK commands in vmd(8).
ok nicm@, ccardenas@, deraadt@
mpi [Mon, 8 Jan 2018 11:52:14 +0000 (11:52 +0000)]
Translate the TIOCSBRK & TIOCCBRK ioctl(2)s issued on a pty(4) slave to
corresponding user mode ioctls.
If the master part of the pseudo terminal previously enabled TIOCUCNTL,
it will now receive the TIOCUCNTL_{S,C}BRK commands. This allows to
send BREAKS commands over a pty(4) independently of the serial terminal
emulator used.
Guidance and ok nicm@, ok ccardenas@, looks ok to deraadt@
mlarkin [Mon, 8 Jan 2018 08:14:00 +0000 (08:14 +0000)]
Attach dwiic_pci on Dell Precision 7520. Also restrict ihidev reports
to those of 3 bytes or more (as per the hid-over-i2c spec).
discussed with jcs, kettenis
bentley [Mon, 8 Jan 2018 05:42:48 +0000 (05:42 +0000)]
Mark up command strings with Cm, and variables with Va.
ok jmc@
patrick [Mon, 8 Jan 2018 00:46:15 +0000 (00:46 +0000)]
Delete flowrings when we take the interface down or change its
settings.
ccardenas [Sun, 7 Jan 2018 22:59:57 +0000 (22:59 +0000)]
Add regression tests for cdrom keyword
ok mlarkin@
patrick [Sun, 7 Jan 2018 22:08:04 +0000 (22:08 +0000)]
Create multiple transmit flowrings in station mode, four in total, based
on TOS values. In AP mode create multiple flowrings per connected node.
mlarkin [Sun, 7 Jan 2018 21:43:25 +0000 (21:43 +0000)]
delete a wrong comment
mlarkin [Sun, 7 Jan 2018 19:56:19 +0000 (19:56 +0000)]
remove all PG_G global page mappings from the kernel when running on
Intel CPUs. Part of an ongoing set of commits to mitigate the Intel
"meltdown" CVE. This diff does not confer any immunity to that
vulnerability - subsequent commits are still needed and are being
worked on presently.
ok guenther, deraadt
millert [Sun, 7 Jan 2018 19:18:56 +0000 (19:18 +0000)]
Add proper bounds checking to kb_add(). OK anton@
guenther [Sun, 7 Jan 2018 18:54:44 +0000 (18:54 +0000)]
amd64_{get,set}_fsbase() are superfluous and unused; delete them.
Delete unused/never-implemented sysarch defines and structs while here.
ports check and ok naddy@
ok deraadt@ mlarkin@
kettenis [Sun, 7 Jan 2018 15:17:42 +0000 (15:17 +0000)]
Use __inline instead of inline as this header file might be included in a
"strict ansi" environment (even though it shouldn't be). Found out the hard
way by phessler@ with a port that uses gcc -ansi.
ok millert@, phessler@
jmc [Sun, 7 Jan 2018 13:56:30 +0000 (13:56 +0000)]
add arch to Dt;
kettenis [Sun, 7 Jan 2018 12:35:52 +0000 (12:35 +0000)]
On OpenBSD/armv7 we deliberately trap unaligned access. Unfortunately
the assembly code in libcrypto assumes unaligned access is allowed for
ARMv7. Make these paths conditional on __STRICT_ALIGNMENT not being
defined and define __STRICT_ALIGNMENT in arm_arch.h for OpenBSD.
ok tom@
inoguchi [Sun, 7 Jan 2018 08:43:26 +0000 (08:43 +0000)]
Remove unused extern variable in openssl(1) s_time
This extern variable appears not to be used.
And it is overridden by local variable in doConnection().
This causes MSVC warning C4459 "declaration of 'verify_error'
hides global declaration".
OK millert@
guenther [Sun, 7 Jan 2018 05:36:47 +0000 (05:36 +0000)]
Delete obsolete/untrue comments
mlarkin [Sun, 7 Jan 2018 05:35:10 +0000 (05:35 +0000)]
remove a ridiculous comment and move another comment to the line it was
really intended to describe. no functional change
visa [Sun, 7 Jan 2018 05:30:03 +0000 (05:30 +0000)]
Assume that direct-mapped addresses come from the xkphys segment.
visa [Sun, 7 Jan 2018 05:19:41 +0000 (05:19 +0000)]
Add references to errata.
mlarkin [Sun, 7 Jan 2018 01:08:20 +0000 (01:08 +0000)]
Add identcpu.c and specialreg.h definitions for the new Intel/AMD MSRs
that should help mitigate spectre. This is just the detection piece, these
features are not yet used.
Part of a larger ongoing effort to mitigate meltdown/spectre. i386 will
come later; it needs some machdep.c cleanup first.
ok kettenis@
sthen [Sat, 6 Jan 2018 22:05:03 +0000 (22:05 +0000)]
Add fs to the application/octet-stream extensions, mostly for installXX.fs,
to help with a problem noticed by tj@ and diagnosed by job@, ok phessler
For OpenBSD distfile mirrors running httpd who want to do this before
getting the updated mime.types, you can set:
. types {
. application/octet-stream fs
. }
guenther [Sat, 6 Jan 2018 22:03:12 +0000 (22:03 +0000)]
Handle %gs like %[def]s and reset set it in cpu_switchto() instead of on
every return to userspace.
ok kettenis@ mlarkin@
stsp [Sat, 6 Jan 2018 21:35:45 +0000 (21:35 +0000)]
Fix an interrupt storm condition in vldcp(8) (sparc64).
If the Rx channel goes down with pending data on the ring, toss the pending
data to ensure that the firmware's rx ring head index matches the rx ring
tail index. Otherwise we trigger an interrupt storm since vldcpread() never
consumes pending data while the channel is down, and the firmware keeps
triggering the interrupt until all data on the ring is consumed.
Interrupt storm observed and fix tested on a T5220 (which can now run
ldom guests; without this fix starting ldomd would trigger the problem).
ok kettenis@
kettenis [Sat, 6 Jan 2018 20:31:03 +0000 (20:31 +0000)]
Don't advertise L0s if the "aspm-no-l0s" property is present. Base available
bus numbers on the "bus-range" property. Create outbound translations based
on the "ranges" property.
kettenis [Sat, 6 Jan 2018 20:14:30 +0000 (20:14 +0000)]
regen
kettenis [Sat, 6 Jan 2018 20:14:01 +0000 (20:14 +0000)]
Add Silicon Motion SM2260 NVMe.
deraadt [Sat, 6 Jan 2018 19:36:18 +0000 (19:36 +0000)]
sync
jcs [Sat, 6 Jan 2018 18:51:20 +0000 (18:51 +0000)]
pckbd: don't change translation mode if controller is in table 2
This was changed a decade ago to forcibly try table 3 first in order
to make some now-long-gone hardware work.
Newer Lenovo machines seem to have trouble being asked to change
modes which manifests as a long boot delay as it waits for each
request to timeout, or by causing the keyboard to generate junk when
typing.
Assume table 2 by default and just leave it alone if it's already
there. This is how Linux has operated for quite a while and seems
to help on these Lenovo machines.
Tested by a few with these machines and has been in snaps for a bit.
millert [Sat, 6 Jan 2018 16:28:58 +0000 (16:28 +0000)]
Bring back the sign compare changes, this time with a fix from otto@
that fixes the issues seen on hppa. OK deraadt@ otto@
millert [Sat, 6 Jan 2018 16:26:12 +0000 (16:26 +0000)]
unifdef LOGIN_CAP, we always want to use login.conf
OK jca@, no objection deraadt@
cheloha [Sat, 6 Jan 2018 15:37:36 +0000 (15:37 +0000)]
Remove dead gettimeofday calls and timevals.
ok jca@
kettenis [Sat, 6 Jan 2018 13:09:05 +0000 (13:09 +0000)]
sxits(4)
kettenis [Sat, 6 Jan 2018 13:05:20 +0000 (13:05 +0000)]
Enable sxits(4).
kettenis [Sat, 6 Jan 2018 13:04:47 +0000 (13:04 +0000)]
Add sxits(4), a driver for the temperature sensor on the Allwinner A10/A20
touchpad controller.
kettenis [Sat, 6 Jan 2018 11:48:06 +0000 (11:48 +0000)]
Enable sxitemp(4).
kettenis [Sat, 6 Jan 2018 11:23:14 +0000 (11:23 +0000)]
Set the proper bus clock rate based on the "clock-frequency" property and
the rate of the parent clock. If the "clock-frequency" property isn't
present, use the default standard mode clock of 100kHz.
jmc [Sat, 6 Jan 2018 09:16:37 +0000 (09:16 +0000)]
tweak previous;
sunil [Sat, 6 Jan 2018 07:59:27 +0000 (07:59 +0000)]
Import gilles@'s standalone spfwalk utility into smtpctl(8) as
'spf walk' command.
Ok gilles@
sunil [Sat, 6 Jan 2018 07:57:53 +0000 (07:57 +0000)]
Move unpack functions into a seperate file.
Required for upcoming 'smtpctl spf walk'.
Ok eric@ gilles@ millert@
visa [Sat, 6 Jan 2018 06:30:11 +0000 (06:30 +0000)]
Remove redundant zeroing and dead code.
dlg [Sat, 6 Jan 2018 03:11:04 +0000 (03:11 +0000)]
rework the transmit and receive paths to address reliability issues.
phessler@ has been having trouble with msk on overdrive 1000s. some
of the issues relate to the driver not coping with exhaustion of
mbufs for the rx ring, the other issues are corruption of the mcl9k
pool that msk uses.
this diff adds a timeout that the rx refill code uses when the rx
ring is empty and cannot be filled. it'll periodically retry the
ring refill until it can get some mbufs in the air again.
the current code made hunting for the mcl9k issue too hard, so this
rewrites it to be simpler and more like other drivers. there's now
just arrays of mbuf pointers and dmamaps to shadow the hardware
ring entries, and producer and consumer indexes. what was there
before had linkes lists of something to hold mbuf pointers and
dmamaps, and some way to go from the ring to go back to that. i
think, it was hard to tell what was happening.
this also copies the ADDR64 handling on the tx ring to the rx ring.
this potentially makes more rx descriptors available, but that can
happen later.
in hindsight the mcl9k problem could have been from letting if_rxr
allocate the entier ring. if every descriptor was filled, the chip
may have run around the ring when it shouldnt have. giving rxr one
less descriptor than there is on the ring may have fixed the problem
too.
this work also makes it easier to make msk mpsafe.
tested by an ok phessler@
ok kettenis@ deraadt@
patrick [Fri, 5 Jan 2018 23:30:16 +0000 (23:30 +0000)]
To send out packets we need to create a flowring. Acting as station,
we typically have about four flowrings per priority. As access point
we apparently need one, or four considering the priorities, flowrings
per client. For now let's start with a single TX flowring. To setup
a flowring we need to send a create request and can only start sending
packets as soon as we are told that the ring is created. With this we
can now do actual network traffic.
patrick [Fri, 5 Jan 2018 23:13:04 +0000 (23:13 +0000)]
Drop incoming network packets as long as we are not in RUN state. This
happens when we successfully associate and the AP tries to initiate the
WPA2 handshake but we haven't received the asynchronous ASSOC event yet.
Dropping the packet will make the AP retry, and at that point we should
have successfully associated. While there, don't feed the event packets
to our network stack. It's been helpful for debugging but now it's time
to let go.
jmc [Fri, 5 Jan 2018 22:25:05 +0000 (22:25 +0000)]
some minor fixes;
kettenis [Fri, 5 Jan 2018 22:19:36 +0000 (22:19 +0000)]
Handle resets; needed on Allwinner R40/V40.
kettenis [Fri, 5 Jan 2018 22:18:46 +0000 (22:18 +0000)]
Implement R40/V40 SATA clock.
kettenis [Fri, 5 Jan 2018 22:04:35 +0000 (22:04 +0000)]
Add support for AXP221/223.
patrick [Fri, 5 Jan 2018 19:06:37 +0000 (19:06 +0000)]
When we receive an AUTH or ASSOC event even though we have already
reached the RUN state, this probably means that we have roamed to
a different AP. In that case throw us back into SCAN mode and let
the stack look for a new AP to connect to. In the future it might
be worthwhile to use the ROAM event information to read the new AP
information to adjust our stack, but that is further down the road.
mikeb [Fri, 5 Jan 2018 19:05:09 +0000 (19:05 +0000)]
Sync with the code in libc
OK millert; original commit message by tedu@:
memcpy from the right place. at this point, the used variable is not
relevant. from Mark Karpilovskij.
ok millert
kettenis [Fri, 5 Jan 2018 17:42:35 +0000 (17:42 +0000)]
Make arm64 use the MI mplock implementation. Avoid <sys/mplock.h> being
pulled in for assembly files by bringing <machine/cpu.h> and
<machine/param.h> in line with other architectures. Some minor cleanup of
those files is included.
ok patrick@
jca [Fri, 5 Jan 2018 15:44:31 +0000 (15:44 +0000)]
unifdef JOBS support
Prompted by a mail from Klemens Nanni, who also had the same diff.
ok deraadt@ millert@
krw [Fri, 5 Jan 2018 15:03:09 +0000 (15:03 +0000)]
Complete and fix grammar in comments and bring grammar terms,
function names and function code into sync.
jmc [Fri, 5 Jan 2018 14:34:43 +0000 (14:34 +0000)]
some 11n bits; help/ok stsp
espie [Fri, 5 Jan 2018 13:39:55 +0000 (13:39 +0000)]
@libset is going to be part of the dependency information.
jca [Fri, 5 Jan 2018 13:34:52 +0000 (13:34 +0000)]
Use log_warnx() in places where errno is irrelevant.
ok mlarkin@ ccardenas@
tb [Fri, 5 Jan 2018 13:21:52 +0000 (13:21 +0000)]
Typos in comments: 'it' -> 'if' and 'noityf' -> 'notify'.
from Klemens Nanni
kettenis [Fri, 5 Jan 2018 12:46:13 +0000 (12:46 +0000)]
Remove unnecessary delays. There is no reason to wait after each and every
read or write to aregister. There is also no reason to wait after
transmitting a STOP since the controller will wait until the bus is free
when transmitting the next START. Based on a diff by Stephen Graf.
Also remove the interrupt code; it doesn't work on the newer variants of
the device. The functionality will be put back in a future commit.
ok patrick@
pirofti [Fri, 5 Jan 2018 11:10:25 +0000 (11:10 +0000)]
Show uvm_fault and trace when typing show panic on a page fault'd kernel
Currently there is only support for amd64, if this change settles
I will add support for the rest of the architectures.
OK kettenis@.
mpi [Fri, 5 Jan 2018 10:41:24 +0000 (10:41 +0000)]
No need for <sys/socketvar.h>
pirofti [Fri, 5 Jan 2018 09:52:34 +0000 (09:52 +0000)]
Fix DRM_DEBUG builds.
OK jsg@.
otto [Fri, 5 Jan 2018 09:33:47 +0000 (09:33 +0000)]
the value of bflag is a blockno, so use the proper type, avoids
an overflow seen with scanning for alternate superblocks; ok deraadt@
mpi [Fri, 5 Jan 2018 08:13:31 +0000 (08:13 +0000)]
Remove useless <sys/socketvar.h> includes.
ok kettenis@, visa@, claudio@, deraadt@
deraadt [Fri, 5 Jan 2018 05:54:36 +0000 (05:54 +0000)]
accidental commit
deraadt [Fri, 5 Jan 2018 05:53:56 +0000 (05:53 +0000)]
backout, because it breaks builds in dev/microcode.
Always build the parts of the tree that use a file.
dlg [Fri, 5 Jan 2018 05:08:53 +0000 (05:08 +0000)]
cast the result of the ternary ops in __swapXX to the relevant types.
it appears clang and guenther@ have a different way of interpreting
the c standards around type promotion and ternary operators compared
to gcc and me.
"no you do it" guenther@
patrick [Thu, 4 Jan 2018 23:34:06 +0000 (23:34 +0000)]
Receiving an AUTH event means that we successfully authenticated, thus
we have to move to the "trying to" ASSOC state. When association has
finished we will receive an ASSOC event, so that we can move into the
RUN state. After that point we will receive ethernet packets and the
WPA2 handshake can occur. The SET_SSID event will now only be used to
bring us back into SCAN when it notes an error, as it often completes
after we have already done the WPA2 handshake and can not be used to
switch between the different states.
bluhm [Thu, 4 Jan 2018 22:58:25 +0000 (22:58 +0000)]
Add more tests that check the timeout behavior of relayd.
jmc [Thu, 4 Jan 2018 20:38:12 +0000 (20:38 +0000)]
from paul de weerd: provide a more helpful Xr to ocspcheck, and note
that the path to "file" is not relative to the chroot;
jmc [Thu, 4 Jan 2018 20:09:56 +0000 (20:09 +0000)]
add HISTORY; requested by jiri navratil