bluhm [Thu, 1 Feb 2018 21:11:33 +0000 (21:11 +0000)]
The function ip6_get_prevhdr() did return a pointer into a mbuf.
It was not guaranteed that the mbuf data was not somewhere else in
the chain. So return an offset and do a proper mbuf pulldown.
found by Maxime Villard; from NetBSD; with markus@; OK deraadt@
bluhm [Thu, 1 Feb 2018 21:06:31 +0000 (21:06 +0000)]
When processing IPsec AH packets with IP options or IPv6 extension
headers, check all lengths before accessing the values.
found by Maxime Villard; from NetBSD; with and OK markus@; OK patrick@
pd [Thu, 1 Feb 2018 18:33:27 +0000 (18:33 +0000)]
vmd: fix vioscsi dump and restore
This unbreaks send / receive. Also tested send / receive for vms with cdrom
by booting install62.iso on a vm with a small empty disk, send to file,
receive into a new vm and running an install of bsd* and base.
ok ccardenas@
landry [Thu, 1 Feb 2018 17:13:44 +0000 (17:13 +0000)]
Add an example on how to log messages coming from a given host to a
specific logfile.
ok sthen@ millert@
dlg [Thu, 1 Feb 2018 12:21:24 +0000 (12:21 +0000)]
document bpf_tap_hdr
dlg [Thu, 1 Feb 2018 12:10:27 +0000 (12:10 +0000)]
add bpf_tap_hdr(), for handling a buffer (not an mbuf) with a header.
internally it uses mbufs to handle the chain of buffers, but the
caller doesnt have to deal with that or allocate a temporary buffer
with the header attached.
ok mpi@
stsp [Thu, 1 Feb 2018 11:21:34 +0000 (11:21 +0000)]
Make sure iwn(4) firmware and driver stay in sync when a scan is
requested by ifconfig while associated. For completeness, do the same
for RUN->{ASSOC,AUTH} and AUTH->ASSOC transitions. i.e. always keep
the firmware's association state in sync with the driver's state.
The firmware should only be associated in RUN state.
Fixes a problem where the driver remained in SCAN state forever after
running 'ifconfig iwn0 scan' in associated (i.e. RUN) state, presumably
because the firmware didn't like the driver's scan command and never
signaled completion of the scan.
ok kevlo@ phessler@
otto [Thu, 1 Feb 2018 11:14:23 +0000 (11:14 +0000)]
don't forget to increment loop var; infinite loops spotted by sthen@
deraadt [Thu, 1 Feb 2018 07:41:33 +0000 (07:41 +0000)]
handle ramdisk not containing ddb, so that builds can proceed
jmc [Thu, 1 Feb 2018 07:22:11 +0000 (07:22 +0000)]
update currency exchange rates;
kettenis [Wed, 31 Jan 2018 23:23:16 +0000 (23:23 +0000)]
Make sure each CPU uses its own set of VAs for pmap_zero_page() and
pmap_copy_page().
ok patrick@
danj [Wed, 31 Jan 2018 17:43:33 +0000 (17:43 +0000)]
Mention that PATCH_DEBUG is set to true by default. Prompted by a
question about patching from abieber@
ok jmc@ sthen@
millert [Wed, 31 Jan 2018 16:46:13 +0000 (16:46 +0000)]
Sync list of non-exported environment variables with at.c.
cheloha [Wed, 31 Jan 2018 15:57:44 +0000 (15:57 +0000)]
Check GETTY_SPACING against the monotonic clock.
Ensures that we can use the check if the system clock is set backwards.
While here, move time retrieval into the child process in start_getty(),
and only get the time if se_started has been set.
ok millert@ tb@
mpi [Wed, 31 Jan 2018 14:47:13 +0000 (14:47 +0000)]
Consider integer/float size during base type comparisons.
Regression introduced when I added support for merging forward
declarations with their corresponding types because they do not
have a size.
mpi [Wed, 31 Jan 2018 14:41:31 +0000 (14:41 +0000)]
Use FREF() instead of rolling our own.
ok deraadt@, bluhm@
patrick [Wed, 31 Jan 2018 13:25:55 +0000 (13:25 +0000)]
Add support for specifying multiple transforms within a single proposal.
This gives us more flexibilty for negotiating with other IKEv2 setups.
Tested by and ok sthen@
stsp [Wed, 31 Jan 2018 12:36:13 +0000 (12:36 +0000)]
Some wifi drivers don't call ieee80211_newstate() during some state
transitions, which means those state transition won't be shown in dmesg
in interface debug mode. Make drivers print these transitions themselves.
ok patrick@
stsp [Wed, 31 Jan 2018 11:27:03 +0000 (11:27 +0000)]
Fix 11g ifmedia modes in ath(4) (shown by 'ifconfig ath0 media').
There was code which set them up but didn't include 11b channels which
are part of 11g. And there was a hack which effectively stripped important
flag bits away and wouldn't work for modes with overlapping channels (b/g).
As a result, some flags were missing from 11g channels the driver reported
to net80211, which skipped over those channels when building the media list.
This gets us one step closer to supporting the AR5424.
ok mpi@
kettenis [Wed, 31 Jan 2018 10:52:12 +0000 (10:52 +0000)]
Add MULTIPROCESSOR support to the interrupt controller drivers. This makes
the secondary CPUs receive clock interrupts. Based on diffs from drahn@.
ok patrick@
jsg [Wed, 31 Jan 2018 10:17:22 +0000 (10:17 +0000)]
adjust container_of() for const use
avoids -Wincompatible-pointer-types-discards-qualifiers build errors
with radeon_ucode.c
jsg [Wed, 31 Jan 2018 05:04:41 +0000 (05:04 +0000)]
add pci_is_root_bus()
jsg [Wed, 31 Jan 2018 04:35:38 +0000 (04:35 +0000)]
add list_prev_entry()
jsg [Wed, 31 Jan 2018 03:26:00 +0000 (03:26 +0000)]
add dmi_match() and change dmi_found() to use it
kettenis [Tue, 30 Jan 2018 21:08:05 +0000 (21:08 +0000)]
No need to add ffs.c as we use .VPATH to reach over into libc/string.
ok otto@
zhuk [Tue, 30 Jan 2018 20:58:13 +0000 (20:58 +0000)]
sync
zhuk [Tue, 30 Jan 2018 20:56:38 +0000 (20:56 +0000)]
Add D-Link DWA-125 rev B2 to list of devices supported by run(4).
Works for me on amd64.
okay stsp@, who also noted this matches Linux commit
fd7b9270120ca7e53fbf0469febe0c68acf6a0a2
jmc [Tue, 30 Jan 2018 20:48:35 +0000 (20:48 +0000)]
regroup some commands in a more logical way;
ok sunil gilles
naddy [Tue, 30 Jan 2018 20:19:06 +0000 (20:19 +0000)]
Fix TFTP reading of zero-size files:
The AllocatePages EFI call returns an error when the allocation
size is 0. Skip allocating memory and actually transferring the
file when it is empty.
Properly return the number of unread bytes so that a read() of n
bytes does not return n if no bytes were read.
While here, disallow lseek() beyond the TFTP file buffer for SEEK_CUR
as we already do for SEEK_SET.
ok patrick@
otto [Tue, 30 Jan 2018 20:15:25 +0000 (20:15 +0000)]
provide ffs, gcc generates calls to it, even when __builtin_ffs() is used.
ok deraadt@
otto [Tue, 30 Jan 2018 17:46:41 +0000 (17:46 +0000)]
keep in sync with ld.so malloc.c
otto [Tue, 30 Jan 2018 17:45:53 +0000 (17:45 +0000)]
kill a gcc warning
otto [Tue, 30 Jan 2018 16:40:20 +0000 (16:40 +0000)]
port over the malloc changes from libc. prompted by deraadt@
kettenis [Tue, 30 Jan 2018 15:46:12 +0000 (15:46 +0000)]
Add support for switching CPUs in ddb on arm64. Based on a diff from drahn@.
ok patrick@
krw [Tue, 30 Jan 2018 13:22:42 +0000 (13:22 +0000)]
Expand "bound to ..." message to include the source of the lease,
either the server IP/MAC or the name of the leases file.
Prompted by phessler@ and landry@ feedback to another diff.
ok phessler@
eric [Tue, 30 Jan 2018 12:44:55 +0000 (12:44 +0000)]
don't reject smtp responses containing non-printable chars as long
as the status is valid. use strnvis() for displaying status lines
in "smtpctl show queue".
ok gilles@ sunil@
jmc [Tue, 30 Jan 2018 11:37:58 +0000 (11:37 +0000)]
word fix; from edgar pettijohn
jsg [Tue, 30 Jan 2018 09:57:58 +0000 (09:57 +0000)]
add more pci defines and pci_pcie_cap()/pcie_capability_read_dword()
jsg [Tue, 30 Jan 2018 09:05:23 +0000 (09:05 +0000)]
add module_init()/module_exit()/signal_pending()
jsg [Tue, 30 Jan 2018 08:54:10 +0000 (08:54 +0000)]
add stubs for pci_clear_master()/pci_save_state()/pci_restore_state()/
pci_set_power_state()
jsg [Tue, 30 Jan 2018 08:50:59 +0000 (08:50 +0000)]
add mutex_destroy()/down_read_trylock()
jsg [Tue, 30 Jan 2018 08:49:38 +0000 (08:49 +0000)]
add create_singlethread_workqueue()/system_power_efficient_wq
jsg [Tue, 30 Jan 2018 08:46:49 +0000 (08:46 +0000)]
add pm_runtime_* stubs
jsg [Tue, 30 Jan 2018 08:44:23 +0000 (08:44 +0000)]
Don't limit vga_switcheroo stubs to amd64/i386 and add
vga_switcheroo_fini_domain_pm_ops() stub.
jsg [Tue, 30 Jan 2018 08:40:19 +0000 (08:40 +0000)]
add iowrite64()/writeq()
jsg [Tue, 30 Jan 2018 08:37:44 +0000 (08:37 +0000)]
add GFP_USER/__user/vmalloc()
jsg [Tue, 30 Jan 2018 08:35:21 +0000 (08:35 +0000)]
add ilog2()/order_base_2()/gcd()
jsg [Tue, 30 Jan 2018 08:31:38 +0000 (08:31 +0000)]
disable -Wformat-zero-length when building with gcc
-Wformat includes -Wformat-zero-length with gcc 4.2 which breaks
building unmodified atom.c with the SDEBUG macro
"warning: zero-length kprintf format string"
jsg [Tue, 30 Jan 2018 08:27:17 +0000 (08:27 +0000)]
add i2c_bit_add_bus()
jsg [Tue, 30 Jan 2018 08:25:06 +0000 (08:25 +0000)]
add more endian macros
jsg [Tue, 30 Jan 2018 08:17:31 +0000 (08:17 +0000)]
add drm_invalid_op()
jsg [Tue, 30 Jan 2018 08:15:17 +0000 (08:15 +0000)]
add atomic_cmpxchg()/atomic64_add()/atomic64_sub()
krw [Mon, 29 Jan 2018 23:16:36 +0000 (23:16 +0000)]
Repair botched retry loop when generating RTM_PROPOSAL
messages at startup. Reproducible situation found on
vnet(4) and fix tested by jca@.
bru [Mon, 29 Jan 2018 21:54:11 +0000 (21:54 +0000)]
pms: minor cleanups in the alps code.
1. Update the ALPS_*_BEZEL values, which don't match the actual limits
accurately. The new values are used by Linux for all models with the
protocols "V1" and "V2".
2. Models with the ID 0x7331 are not supported properly, remove it
from the list.
3. Report to wsmouse that multiple contacts aren't recognized.
espie [Mon, 29 Jan 2018 18:39:28 +0000 (18:39 +0000)]
acknowledge that DPB_PROPERTIES exists and is documented in dpb.1
krw [Mon, 29 Jan 2018 15:18:05 +0000 (15:18 +0000)]
Missed a couple of log_info()'s in previous commit. Use #ifdef DEBUG
instead of #if DEBUG.
visa [Mon, 29 Jan 2018 14:53:01 +0000 (14:53 +0000)]
Drop unused field `ci_ipiih'.
visa [Mon, 29 Jan 2018 14:51:57 +0000 (14:51 +0000)]
Let the interrupt subsystem allocate memory for the IPI handle,
to drop remaining uses of `ci_ipiih'. In addition, mark the IPI
handler MP-safe.
krw [Mon, 29 Jan 2018 13:41:30 +0000 (13:41 +0000)]
Use log_init(), log_setverbose() and log_debug() more
appropriately. Fixes '-q' logging oddities.
Prompted by phessler@ plea for '-v'-like behaviour rather
than putting everything under DPRINTF()'s.
jsg [Mon, 29 Jan 2018 11:46:44 +0000 (11:46 +0000)]
Attach ampintc/ampintcmsi early so pci devices can be attached with
msi when using qemu -M virt.
ok kettenis@
krw [Sun, 28 Jan 2018 23:12:36 +0000 (23:12 +0000)]
Refactor and simplify the logic to select and invoke the
appropriate function to process a packet.
kettenis [Sun, 28 Jan 2018 17:19:29 +0000 (17:19 +0000)]
trampoline.o depends on assym.h
otto [Sun, 28 Jan 2018 14:55:24 +0000 (14:55 +0000)]
typo
otto [Sun, 28 Jan 2018 13:42:17 +0000 (13:42 +0000)]
add malloc_threaderr
otto [Sun, 28 Jan 2018 13:41:48 +0000 (13:41 +0000)]
- An error in the multithreaded case could print the wrong function name
- Start with a full page of struct region_info's
- Save an mprotect in the init code: allocate 3 pages with none and
make the middle page r/w instead of a r/w allocation and two calls to make the
guard pages none
otto [Sun, 28 Jan 2018 13:38:00 +0000 (13:38 +0000)]
Test for correct error when on thread allocates, and another does a double free
kettenis [Sun, 28 Jan 2018 13:17:45 +0000 (13:17 +0000)]
Spin up secondary CPUs and add IPI infrastructure. Heavily based on diffs
from dran@.
ok patrick@
jmc [Sun, 28 Jan 2018 12:59:12 +0000 (12:59 +0000)]
remove the emulex link: it's dead, and i can;t see any obvious replacement;
from denis fondras
jsg [Sun, 28 Jan 2018 12:48:20 +0000 (12:48 +0000)]
Store PSCI function ids as uint32_t not int in the softc.
Avoids unwanted sign extension on arm64 that resulted in qemu not
recognising the function ids and matches the specification.
Problem reported by semarie@
ok kettenis@
kettenis [Sun, 28 Jan 2018 12:41:39 +0000 (12:41 +0000)]
Bring this more in line with our other architectures.
ok patrick@
krw [Sun, 28 Jan 2018 11:29:30 +0000 (11:29 +0000)]
A few fatal() -> fatalx() where errno is not
relevant.
inoguchi [Sun, 28 Jan 2018 09:21:34 +0000 (09:21 +0000)]
Initialize variables to avoid compiler warnings
ok jsing@
otto [Sun, 28 Jan 2018 09:02:55 +0000 (09:02 +0000)]
typo
jsg [Sun, 28 Jan 2018 00:54:06 +0000 (00:54 +0000)]
sync
naddy [Sat, 27 Jan 2018 22:55:23 +0000 (22:55 +0000)]
Sync the nam2blk entries with the bdevsw table, which is the
definitive list of block devices supported on an architecture.
ok kettenis@ deraadt@
jsing [Sat, 27 Jan 2018 15:30:43 +0000 (15:30 +0000)]
Update regress to match removal of ssl_parse_clienthello_tlsext().
jsing [Sat, 27 Jan 2018 15:30:05 +0000 (15:30 +0000)]
Complete the TLS extension handling rewrite for the server-side.
This removes ssl_parse_clienthello_tlsext() and allows the CBS to be
passed all the way through from ssl3_get_client_hello(). The renegotation
check gets pulled up into ssl3_get_client_hello() which is where other
such checks exist.
The TLS extension parsing now also ensures that we do not get duplicates
of any known extensions (the old pre-rewrite code only did this for some
extensions).
ok inoguchi@
jsing [Sat, 27 Jan 2018 15:17:13 +0000 (15:17 +0000)]
Clarify the comment re the F5 EC curves extension bug.
Also reference the knowledge base article instead of a discussion thread.
jsing [Sat, 27 Jan 2018 15:09:15 +0000 (15:09 +0000)]
Convert ssl3_put_cipher_by_char() to CBB.
While here make the CBS usage in ssl3_get_cipher_by_char() more consistent
with other code.
ok inoguchi@
stsp [Sat, 27 Jan 2018 13:44:03 +0000 (13:44 +0000)]
Fix an interrupt storm issue in vnet(4) mpi@ managed to trigger on my T5220,
similar to the issue fixed in vldcp(4) recently. For good measure also fix
it again in vldcp(4) in case the Rx channel is reset rather than goes down.
My T5220 has been running fine with this change.
ok kettenis@
anton [Sat, 27 Jan 2018 08:38:06 +0000 (08:38 +0000)]
Add missing `l' prefix to linker flag and markup SIGHUP; ok jmc@
anton [Sat, 27 Jan 2018 08:32:03 +0000 (08:32 +0000)]
Avoid passing NULL to vprintf() by assigning a name to client processes. While
here rework the switch proc_title(), both clang and gcc will now warn if all
possible values are not enumerated.
ok gilles@
kettenis [Fri, 26 Jan 2018 22:25:23 +0000 (22:25 +0000)]
Add kernel support for the VFP FPU/SIMD unit. Based on a diff by drahn@.
This allows us to use floating-pointer and vector instructions in userland
code. The current implementation assumes all 32 VFP registers are present.
This should be the case on all armv7 hardware currently supported by
OpenBSD.
ok patrick@
otto [Fri, 26 Jan 2018 19:14:51 +0000 (19:14 +0000)]
- do not junk pages returned by free_bytes(), all freed chunks are already
junked
- freezero(): only clear requested size
naddy [Fri, 26 Jan 2018 16:40:14 +0000 (16:40 +0000)]
Handle the transfer size option when faking up /etc/random.seed.
Without this, clients that queried the size would receive 0 as response.
ok jca@
kettenis [Fri, 26 Jan 2018 16:22:19 +0000 (16:22 +0000)]
Add kernel support for the VFP FPU/SIMD unit. Based on a diff by drahn@.
This allows us to use floating-pointer and vector instructions in userland
code. The current implementation assumes all 32 VFP registers are present.
This should be the case on all armv7 hardware currently supported by
OpenBSD.
ok patrick@
kettenis [Fri, 26 Jan 2018 16:15:26 +0000 (16:15 +0000)]
Cleanup VFP code.
ok patrick@
jca [Fri, 26 Jan 2018 13:12:08 +0000 (13:12 +0000)]
Document MODCMAKE_DEBUG
ok landry@
eric [Fri, 26 Jan 2018 08:00:54 +0000 (08:00 +0000)]
allow unpriviledged user to run "encrypt" and "spf walk"
ok todd@, gilles@, sunil@
ccardenas [Fri, 26 Jan 2018 05:34:41 +0000 (05:34 +0000)]
Fix Failure on Start
When attempting to start a vm from vm.conf that fails due to inadequate
resources and such, do not remote vm entry from vm list.
Reported by mpi@
ok mpi@
krw [Thu, 25 Jan 2018 15:43:51 +0000 (15:43 +0000)]
Add DPRINTF() and use it to replace log_debug() statements inside
#ifdef DEBUG/#endif blocks.
Suggestions on correct idiom (C99 vs gcc) from millert@
ok tom@
mpi [Thu, 25 Jan 2018 15:19:33 +0000 (15:19 +0000)]
Remove mutex implementations that now live in MI code.
mpi [Thu, 25 Jan 2018 15:06:29 +0000 (15:06 +0000)]
Move common mutex implementations to a MI place.
Archs not yet converted can to the jump by defining __USE_MI_MUTEX.
ok visa@
mpi [Thu, 25 Jan 2018 14:47:35 +0000 (14:47 +0000)]
Use a workaround for detached parent in carp_proto_input_c().
A NULL dereference can happen since processing protocol layer is
deffered to a second task. In other words the NET_LOCK() is released
then regrabbed between ip_input() and carp_proto_input().
The same workaround is already in use in carp_output() due to deffered
processing in case of IPsec.
The real fix is to make carp(4) MP-safe and use if_get(9) there, any
taker?
Found & fix tested by Hrvoje Popovski.
mpi [Thu, 25 Jan 2018 14:09:52 +0000 (14:09 +0000)]
Use a new LDFLAGS variable to pass "-melf_i386_obsd" on amd64.
Makes the linker generate a correct i386 gap.o file.
ok kettenis@, deraadt@
mpi [Thu, 25 Jan 2018 14:04:36 +0000 (14:04 +0000)]
Assert that ifiq_destroy() is not called with the NET_LOCK() held.
Calling taskq_barrier() on a softnet thread while holding the lock
is clearly a deadlock.
ok visa@, dlg@, bluhm@
djm [Thu, 25 Jan 2018 03:34:43 +0000 (03:34 +0000)]
certificate options are case-sensitive; fix case on one that had it wrong.
move a badly-place sentence to a less bad place
yasuoka [Thu, 25 Jan 2018 02:47:00 +0000 (02:47 +0000)]
Fix perl build not to install libperl* twice. This has caused an
actual error if "install" was done parallelly.
ok espie todd andrew1, input andrew1
kettenis [Wed, 24 Jan 2018 23:03:37 +0000 (23:03 +0000)]
Make the NEON codepaths conditional on __STRICT_ALIGNMENT not being
defined as they rely on unaligned access.
ok joel@
krw [Wed, 24 Jan 2018 19:12:49 +0000 (19:12 +0000)]
Don't display the seconds until renewal. i.e. "em0: bound to 1.2.3.4
-- renewal in 300000 seconds" becomes simply "em0: bound to 1.2.3.4"
While here avoid setting timeouts before the current time.
ok florian@