openbsd
3 years agoRemove netlock assertions from UNIX sockets layer.
mvs [Thu, 29 Apr 2021 20:13:25 +0000 (20:13 +0000)]
Remove netlock assertions from UNIX sockets layer.

ok bluhm@

3 years agoriscv64 libkvm support
drahn [Thu, 29 Apr 2021 20:00:18 +0000 (20:00 +0000)]
riscv64 libkvm support
copied from aarch64 with minimal changes

3 years agoriscv64 share/mk
drahn [Thu, 29 Apr 2021 19:21:31 +0000 (19:21 +0000)]
riscv64 share/mk
Add riscv64 to the list of PIE/static PIE and clang architectures.

3 years ago*** empty log message ***
drahn [Thu, 29 Apr 2021 18:48:30 +0000 (18:48 +0000)]
*** empty log message ***

3 years agoriscv64 libc
drahn [Thu, 29 Apr 2021 18:39:53 +0000 (18:39 +0000)]
riscv64 libc
asm defines, copied from aarch64.

3 years agoriscv64 libc
drahn [Thu, 29 Apr 2021 18:37:19 +0000 (18:37 +0000)]
riscv64 libc
Makefile.inc was missed in previous commit
ok kettenis@

3 years agoriscv64 libc, more pieces.
drahn [Thu, 29 Apr 2021 18:33:36 +0000 (18:33 +0000)]
riscv64 libc, more pieces.
largely derived from aarch64 code.
usertc.c taken from hppa
with cleanup to Symbols.list and tfork_thread.S
Further cleanup and enhancement will be performed in-tree.
ok kettenis@

3 years agoUse relative reference URIs in Location header on directory redirects.
dv [Thu, 29 Apr 2021 18:23:07 +0000 (18:23 +0000)]
Use relative reference URIs in Location header on directory redirects.

This adds support for front-ending httpd(8) with a TLS-terminating
gateway like relayd(8) that forwards unencrypted http traffic.

Previously httpd(8) would use a full URL in the Location header in 301
redirects when a user-agent requests a directory but without the
trailing '/'. If the user-agent originally connected with https, this
caused the redirected url to be http.

This change conforms to RFC7231 section 7.1.2.

Reported by Vincent Lee.

OK claudio@

3 years agoClean up <machine/ieeefp.h> and make sure the rounding mode bits match the
kettenis [Thu, 29 Apr 2021 17:19:18 +0000 (17:19 +0000)]
Clean up <machine/ieeefp.h> and make sure the rounding mode bits match the
hardware.  Implement fp[gs]etround(3) and fp[gs]etsticky(3) and tweak
the fp[gs]etmask(3) implementation to provide the right weak symbols.
This implementation deliberately ignores the additional
"round to nearest, away from zero" as this interface is derived from
i386-specific code and the i387 FPU doesn't implement such a rounding
mode.  This is a legacy API and code should use <fenv.h> instead.

ok drahn@

3 years agoRevert part of the previous uvm_km_zalloc(9) to km_alloc(9) commit.
bluhm [Thu, 29 Apr 2021 15:34:22 +0000 (15:34 +0000)]
Revert part of the previous uvm_km_zalloc(9) to km_alloc(9) commit.
The chunk with mapping for pm_pdir_intel causes crashes for sthen@
and bluhm@.  i386 pagedaemon panic: kernel diagnostic assertion
"pg->wire_count == 0" failed: file "/usr/src/sys/uvm/uvm_page.c",
line 1265
One of my 8 CPU 3 GB RAM machines can reproduce it when building
clang with make -j 9.  This commit hides the underlying bug.
OK mpi@

3 years agoReplace uvm_km_alloc(9) calls with km_alloc(9) calls. Make the copied ROM
kettenis [Thu, 29 Apr 2021 15:12:14 +0000 (15:12 +0000)]
Replace uvm_km_alloc(9) calls with km_alloc(9) calls.  Make the copied ROM
contents executable using pmap_kenter_pa(9) since uvm stops us from doing
so using higher-level interfaces (for good reasons).
Maintaining W^X of course!

ok mpi@

3 years agoExtend the fork and exit test with threads. Simultaneously kill
bluhm [Thu, 29 Apr 2021 13:39:22 +0000 (13:39 +0000)]
Extend the fork and exit test with threads.  Simultaneously kill
30 processes with 30 threads each.

3 years agoRemove unused RM7000 ICR handling.
visa [Thu, 29 Apr 2021 12:49:19 +0000 (12:49 +0000)]
Remove unused RM7000 ICR handling.

3 years agodescend into arch/riscv64
jsg [Thu, 29 Apr 2021 11:32:20 +0000 (11:32 +0000)]
descend into arch/riscv64

3 years agoadd riscv64 efibind.h
jsg [Thu, 29 Apr 2021 11:29:05 +0000 (11:29 +0000)]
add riscv64 efibind.h

ok drahn@ kettenis@

3 years agoregen
jsg [Thu, 29 Apr 2021 05:53:51 +0000 (05:53 +0000)]
regen

3 years agoadd RISCV
jsg [Thu, 29 Apr 2021 05:51:57 +0000 (05:51 +0000)]
add RISCV

3 years agoriscv64 clang support.
drahn [Thu, 29 Apr 2021 05:32:01 +0000 (05:32 +0000)]
riscv64 clang support.
With several fixes from review integrated.
ok patrick@

3 years agoRemove extraneous for() likely caused by copy & paste.
millert [Thu, 29 Apr 2021 01:57:00 +0000 (01:57 +0000)]
Remove extraneous for() likely caused by copy & paste.
From trondd, OK pjanzen@

3 years agoUse a universally understood example time (with AM, which is even easier
deraadt [Thu, 29 Apr 2021 00:47:53 +0000 (00:47 +0000)]
Use a universally understood example time (with AM, which is even easier
to understand)
from Edgar Pettijohn

3 years agosync
deraadt [Thu, 29 Apr 2021 00:04:06 +0000 (00:04 +0000)]
sync

3 years agoBuild libcompiler_rt for riscv64
drahn [Wed, 28 Apr 2021 22:56:22 +0000 (22:56 +0000)]
Build libcompiler_rt for riscv64
ok kettenis@

3 years agoEnable libunwind on riscv64
drahn [Wed, 28 Apr 2021 22:45:33 +0000 (22:45 +0000)]
Enable libunwind on riscv64
getWCookie() is an OpenBSD addition that is needed on new architectures.
ok kettenis@

3 years agoUse mq_delist() to fetch the ARP mbuf hold queue once and feed the
bluhm [Wed, 28 Apr 2021 21:21:44 +0000 (21:21 +0000)]
Use mq_delist() to fetch the ARP mbuf hold queue once and feed the
mbuf list to if_output().
OK sashan@ mvs@

3 years agosync
deraadt [Wed, 28 Apr 2021 20:05:47 +0000 (20:05 +0000)]
sync

3 years agosync
deraadt [Wed, 28 Apr 2021 19:33:38 +0000 (19:33 +0000)]
sync

3 years agoAdd sndio.pc file for pkg-config, mostly from brad@
ratchov [Wed, 28 Apr 2021 19:12:53 +0000 (19:12 +0000)]
Add sndio.pc file for pkg-config, mostly from brad@

ok and help from espie@

3 years agoriscv64 efiboot bootloader
drahn [Wed, 28 Apr 2021 19:01:00 +0000 (19:01 +0000)]
riscv64 efiboot bootloader
Ported from arm64 with changes for riscv64.
Initial effort by Mickael Torres, with additional updates
ACPI api removed per request
ok kettenis@

3 years agoTo hunt kernel bugs during exit, terminate processes simultaneously.
bluhm [Wed, 28 Apr 2021 17:59:53 +0000 (17:59 +0000)]
To hunt kernel bugs during exit, terminate processes simultaneously.
Fork 300 children that sleep.  Kill them together as process group.
Sleeping can optionally be done with individual memory layout by
executing sleep(1).

3 years agoRevert "Handle X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE in new
tb [Wed, 28 Apr 2021 17:53:34 +0000 (17:53 +0000)]
Revert "Handle X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE in new
verifier." (r1.27). While this may have "fixed" one corner case, it
broke expectations of Perl Net::SSLeay and Ruby OpenSSL regression
tests.

ok bcook

3 years agoUse "new" vmctl syntax in the example.
tb [Wed, 28 Apr 2021 17:44:35 +0000 (17:44 +0000)]
Use "new" vmctl syntax in the example.

3 years agoImplement __flt_rounds() for RISC-V. RISC-V is "interesting" since it
kettenis [Wed, 28 Apr 2021 15:38:59 +0000 (15:38 +0000)]
Implement __flt_rounds() for RISC-V.  RISC-V is "interesting" since it
implements a variation on the traditional "to nearest" rounding mode that
rounds away from zero when tied.  The upcoming C2x includes support for that
and LLVM already implements this so provide an implementation that matches
our system compiler.

ok drahn@

3 years agoriscv64 libc setjmp functions,
drahn [Wed, 28 Apr 2021 15:28:54 +0000 (15:28 +0000)]
riscv64 libc setjmp functions,
Based on arm64 versions
this implementation is missing jmpxor security enhancement.
Good enough deraadt@

3 years agoriscv64 ld.so
drahn [Wed, 28 Apr 2021 15:16:26 +0000 (15:16 +0000)]
riscv64 ld.so
derived from arm64
go ahead deraadt@

3 years agobuild eeprom on riscv64
jsg [Wed, 28 Apr 2021 15:15:37 +0000 (15:15 +0000)]
build eeprom on riscv64

3 years agodescend into riscv64 dirs
jsg [Wed, 28 Apr 2021 15:11:27 +0000 (15:11 +0000)]
descend into riscv64 dirs

ok deraadt@

3 years agoadd a Makefile for riscv64 man8
jsg [Wed, 28 Apr 2021 14:45:08 +0000 (14:45 +0000)]
add a Makefile for riscv64 man8

3 years agorecognise riscv64 as a valid arch in mandoc
jsg [Wed, 28 Apr 2021 14:29:50 +0000 (14:29 +0000)]
recognise riscv64 as a valid arch in mandoc

ok jmc@ deraadt@

3 years agocreate riscv64 man dirs
jsg [Wed, 28 Apr 2021 14:25:15 +0000 (14:25 +0000)]
create riscv64 man dirs

ok deraadt@

3 years agosync
patrick [Wed, 28 Apr 2021 13:07:32 +0000 (13:07 +0000)]
sync

3 years agoUpdate build infrastructure for libc++ and libc++abi version 11.1.0.
patrick [Wed, 28 Apr 2021 13:06:20 +0000 (13:06 +0000)]
Update build infrastructure for libc++ and libc++abi version 11.1.0.

3 years agoMerge libc++, libc++abi and libunwind version 11.1.0.
patrick [Wed, 28 Apr 2021 13:04:36 +0000 (13:04 +0000)]
Merge libc++, libc++abi and libunwind version 11.1.0.

3 years agoImport libc++ 11.1.0 release.
patrick [Wed, 28 Apr 2021 12:59:51 +0000 (12:59 +0000)]
Import libc++ 11.1.0 release.

3 years agoImport libc++abi 11.1.0 release.
patrick [Wed, 28 Apr 2021 12:59:30 +0000 (12:59 +0000)]
Import libc++abi 11.1.0 release.

3 years agoImport libunwind 11.1.0 release.
patrick [Wed, 28 Apr 2021 12:59:01 +0000 (12:59 +0000)]
Import libunwind 11.1.0 release.

3 years agosync
patrick [Wed, 28 Apr 2021 12:56:24 +0000 (12:56 +0000)]
sync

3 years agoUpdate clang build infrastructure for LLVM 11.1.0.
patrick [Wed, 28 Apr 2021 12:55:37 +0000 (12:55 +0000)]
Update clang build infrastructure for LLVM 11.1.0.

Heavy lifting by mortimer@, thank you so much!

3 years agoMerge LLVM 11.1.0.
patrick [Wed, 28 Apr 2021 12:49:07 +0000 (12:49 +0000)]
Merge LLVM 11.1.0.

3 years agoImport LLVM 11.1.0 release including clang, lld and lldb.
patrick [Wed, 28 Apr 2021 12:29:46 +0000 (12:29 +0000)]
Import LLVM 11.1.0 release including clang, lld and lldb.

3 years agoImport LLVM 11.1.0 release including clang, lld and lldb.
patrick [Wed, 28 Apr 2021 12:29:31 +0000 (12:29 +0000)]
Import LLVM 11.1.0 release including clang, lld and lldb.

3 years agoImport LLVM 11.1.0 release including clang, lld and lldb.
patrick [Wed, 28 Apr 2021 12:28:50 +0000 (12:28 +0000)]
Import LLVM 11.1.0 release including clang, lld and lldb.

3 years agoImport LLVM 11.1.0 release including clang, lld and lldb.
patrick [Wed, 28 Apr 2021 12:27:20 +0000 (12:27 +0000)]
Import LLVM 11.1.0 release including clang, lld and lldb.

3 years agoEnable dt(4) on amd64, arm64, i386, and powerpc64 in GENERIC kernel.
bluhm [Wed, 28 Apr 2021 11:32:59 +0000 (11:32 +0000)]
Enable dt(4) on amd64, arm64, i386, and powerpc64 in GENERIC kernel.
Support to skip frames is missing on arm64 and i386, but the stack
traces are useful anyway.  sparc64 should work, but I could not
test it.  Other architectures do not have stacktrace_save_at() and
dynamic tracer does not link.
from patrick@; OK semarie@

3 years agoDocument the locking mechanism of the global variables in ARP code.
bluhm [Wed, 28 Apr 2021 10:33:34 +0000 (10:33 +0000)]
Document the locking mechanism of the global variables in ARP code.
The global list of ARP llinfo is protected by net lock.  This is
not sufficent when we switch to shared netlock.  Add a mutex for
insertion and removal when net lock is not exclusive.  This is
needed if we want run IP output on multiple CPU.
Put an assertion for shared net lock into arp_rtrequest.
input mvs@; OK sashan@

3 years agoIntroduce a global vnode_mtx and use it to make vn_lock() safe to be called
claudio [Wed, 28 Apr 2021 09:53:53 +0000 (09:53 +0000)]
Introduce a global vnode_mtx and use it to make vn_lock() safe to be called
without the KERNEL_LOCK.
This moves VXLOCK and VXWANT to a mutex protected v_lflag field and also
v_lockcount is protected by this mutex.

The vn_lock() dance is overly complex and all of this should probably replaced
by a proper lock on the vnode but such a diff is a lot more complex. This
is an intermediate step so that at least some calls can be modified to grab
the KERNEL_LOCK later or not at all.

OK mpi@

3 years agotime to add NET_ASSERT_WLOCKED()
sashan [Wed, 28 Apr 2021 09:42:04 +0000 (09:42 +0000)]
time to add NET_ASSERT_WLOCKED()

with moving towards NET_RLOCK...() we need NET_ASSERT_WLOCKED()
to check caller owns netlock exclusively.

OK @bluhm

3 years agoAdd signbitl.c that was missed as part of an earlier commit.
kettenis [Wed, 28 Apr 2021 08:25:07 +0000 (08:25 +0000)]
Add signbitl.c that was missed as part of an earlier commit.

ok drahn@

3 years agoRISC-V does not implement trapping of floating point exceptions, so use
kettenis [Wed, 28 Apr 2021 08:22:56 +0000 (08:22 +0000)]
RISC-V does not implement trapping of floating point exceptions, so use
the same dummy fpgetmask(3) and fpsetmask(3) implementation as arm64.

ok drahn@

3 years agosndiod: Attach client at the same position, regardless the device mode
ratchov [Wed, 28 Apr 2021 05:10:29 +0000 (05:10 +0000)]
sndiod: Attach client at the same position, regardless the device mode

This is necessary to make rec-only devices properly work in
full-duplex. Fixes full-duplex clients stuck on rec-only device.

3 years agosndiod: Allocate (free) conversion buffers in slot_attach (slot_detach)
ratchov [Wed, 28 Apr 2021 05:05:05 +0000 (05:05 +0000)]
sndiod: Allocate (free) conversion buffers in slot_attach (slot_detach)

Besides being better coding style, this allows a client to be detached
and then attached to a device with different parameters.

3 years agoAdd RISC-V elf executable detection.
drahn [Wed, 28 Apr 2021 04:41:14 +0000 (04:41 +0000)]
Add RISC-V elf executable detection.
looks good jsg@

3 years agoriscv64 gdtoa support
drahn [Wed, 28 Apr 2021 04:38:01 +0000 (04:38 +0000)]
riscv64 gdtoa support
direct copy from aarch64
constants were rechecked using the qnan.c program.

3 years agoriscv64 libc string support,
drahn [Wed, 28 Apr 2021 04:26:40 +0000 (04:26 +0000)]
riscv64 libc string support,
adopted from aarch64, no native ffs() for now, use C version.
after corrections from kettenis@

3 years agoremove old drm devices
jsg [Wed, 28 Apr 2021 03:55:48 +0000 (03:55 +0000)]
remove old drm devices

3 years agoSync
drahn [Wed, 28 Apr 2021 03:32:36 +0000 (03:32 +0000)]
Sync

3 years agoriscv64 etc support
drahn [Wed, 28 Apr 2021 03:26:25 +0000 (03:26 +0000)]
riscv64 etc support
copied from arm64
MAKEDEV.md contents are kinda partially there, needs more work.

3 years agoRiscv64 csu support
drahn [Wed, 28 Apr 2021 00:11:11 +0000 (00:11 +0000)]
Riscv64 csu support
Includes fixes pointed out by kettenis, jsg, naddy

3 years agoRiscv64 distrib pieces to buld ramdisk
drahn [Tue, 27 Apr 2021 23:57:38 +0000 (23:57 +0000)]
Riscv64 distrib pieces to buld ramdisk
Copied from arm64 with minimal changes.
ok deraadt@

3 years agoAdd IMSG_CTL_SHOW_RTR to the list of restriced control messages.
claudio [Tue, 27 Apr 2021 15:34:18 +0000 (15:34 +0000)]
Add IMSG_CTL_SHOW_RTR to the list of restriced control messages.

3 years agoAdd RFC 6286 to the list of RFC bgpd supports.
claudio [Tue, 27 Apr 2021 11:34:58 +0000 (11:34 +0000)]
Add RFC 6286 to the list of RFC bgpd supports.
OK job@

3 years agoAdd DTLS test in appstest.sh
inoguchi [Tue, 27 Apr 2021 10:13:04 +0000 (10:13 +0000)]
Add DTLS test in appstest.sh

3 years agopf_state_key_link_reverse() is prone to race on parallel forwarding
sashan [Tue, 27 Apr 2021 09:38:29 +0000 (09:38 +0000)]
pf_state_key_link_reverse() is prone to race on parallel forwarding

we need to adjust assertions. at time we call pf_state_key_link_reverse()
is state_key either linked to correct reverse peer or not linked at all.
The pf_state_key_link_reverse() is being called as a reader ons tate_lock.
There might be more packets, which try to update the state key.

OK bluhm@

3 years agoCheck for possible bgpid collision on open. RFC 6286 defines that this
claudio [Tue, 27 Apr 2021 09:12:23 +0000 (09:12 +0000)]
Check for possible bgpid collision on open. RFC 6286 defines that this
check needs to be done for iBGP sessions but not for eBGP sessions.
On conflict log an error and send a notification with ERR_OPEN_BGPID
suberror.
Reported by cjt (melissa_cjt at 163.com)
OK benno@

3 years agoFix notification sub-error code for syntactically incorrect nexthops.
claudio [Tue, 27 Apr 2021 09:07:10 +0000 (09:07 +0000)]
Fix notification sub-error code for syntactically incorrect nexthops.
The right suberror is ERR_UPD_NEXTHOP.
Reported by cjt (melissa_cjt at 163.com)
OK benno@

3 years agotest-verify-unusual-wildcard-cert is no longer expected to fail with
tb [Tue, 27 Apr 2021 05:14:25 +0000 (05:14 +0000)]
test-verify-unusual-wildcard-cert is no longer expected to fail with
lib/libcrypto/x509/x509_constraints.c r1.16

3 years agoriscv64 libc floating point, a portion of the files are ready.
drahn [Tue, 27 Apr 2021 04:36:00 +0000 (04:36 +0000)]
riscv64 libc floating point, a portion of the files are ready.
ok kettenis.

3 years agoRelax SAN DNSname validation and constraints to permit non leading *
beck [Tue, 27 Apr 2021 03:35:29 +0000 (03:35 +0000)]
Relax SAN DNSname validation and constraints to permit non leading *
wildcards. While we may choose not to support them the standards
appear to permit them optionally so we can't declare a certificate
containing them invalid. Noticed by jeremy@, and Steffan Ulrich
and others. Modify the regression tests to test these cases and
not check the SAN DNSnames as "hostnames" anymore (which don't support
wildcards).

ok jsing@, tb@

3 years agoriscv64 additions for libm
drahn [Tue, 27 Apr 2021 00:31:34 +0000 (00:31 +0000)]
riscv64 additions for libm
ok kettenis@

3 years agovmd(8): fix vmctl client "wait" state corruption
dv [Mon, 26 Apr 2021 22:58:27 +0000 (22:58 +0000)]
vmd(8): fix vmctl client "wait" state corruption

Adds queue-based tracking of waiting client state to fix the cause of
state corruption when a vmctl(8) user cancels a wait and restarts it.
The socket fd value for the control process client was being used to
track the waiting party, but this also prevented multiple waiting
clients.

This moves all the state tracking of who to notify of a vm's stopping
to the control process and no longer requires the parent process to
track it in the global environment state.

Future work will be needed to smooth out the difference between the
IMSG_VMDOP_TERMINATE_VM_{EVENT,RESPONSE} events instead of needing to
translate before relaying to the vmctl(8) client.

Tested by Mischa Peters (thanks!)

ok mlarkin@

3 years agoAdd missing timeout_set_proc() description.
mvs [Mon, 26 Apr 2021 20:32:30 +0000 (20:32 +0000)]
Add missing timeout_set_proc() description.

ok jmc@

3 years agoPrint out both the sent "Neighbor capabilities" and the "Negotiated
claudio [Mon, 26 Apr 2021 18:23:20 +0000 (18:23 +0000)]
Print out both the sent "Neighbor capabilities" and the "Negotiated
capabilities" for a session. Especially the multiprotocol capability
can confuse because both sides need to allow a protocol to enable it.
The JSON code dumps all the capabilities for local, remote and negotiated.
OK denis@, sthen@

3 years agoUnset ftp_proxy to make test independent from environment.
bluhm [Mon, 26 Apr 2021 08:45:01 +0000 (08:45 +0000)]
Unset ftp_proxy to make test independent from environment.

3 years agoRevert per-socket `so_lock' rwlock(9) and use it to protect routing
claudio [Mon, 26 Apr 2021 08:21:35 +0000 (08:21 +0000)]
Revert per-socket `so_lock' rwlock(9) and use it to protect routing
(PF_ROUTE) sockets. There is a locking issue with timeouts that needs
to be fixed.
Requested by deraadt@

3 years agoConvert the ARP packet hold queue from mbuf list to mbuf queue which
bluhm [Mon, 26 Apr 2021 07:55:16 +0000 (07:55 +0000)]
Convert the ARP packet hold queue from mbuf list to mbuf queue which
contins a mutex.  Update la_hold_total with atomic operations.
OK sashan@

3 years agoThe time_t now is only set but never used. Noticed by gcc.
claudio [Mon, 26 Apr 2021 07:40:26 +0000 (07:40 +0000)]
The time_t now is only set but never used. Noticed by gcc.

3 years agoremove unused cdev defines
jsg [Mon, 26 Apr 2021 06:05:55 +0000 (06:05 +0000)]
remove unused cdev defines

3 years agoremove unused cdev defines
jsg [Mon, 26 Apr 2021 06:00:12 +0000 (06:00 +0000)]
remove unused cdev defines

3 years agoadd kstat and a notdef line for ujoy
jsg [Mon, 26 Apr 2021 05:00:11 +0000 (05:00 +0000)]
add kstat and a notdef line for ujoy

3 years agoremove old 4.19 amdgpu include paths
jsg [Mon, 26 Apr 2021 04:30:20 +0000 (04:30 +0000)]
remove old 4.19 amdgpu include paths

3 years agoRemove some commented out entries to make this easier to read
jsg [Mon, 26 Apr 2021 04:28:07 +0000 (04:28 +0000)]
Remove some commented out entries to make this easier to read
and enable openprom.

ok visa@

3 years agoBump pbuild stacksize to 8M.
mortimer [Sun, 25 Apr 2021 16:36:56 +0000 (16:36 +0000)]
Bump pbuild stacksize to 8M.

Addresses a stack exhaustion issue with llvm11 and a small number of ports.

ok kettenis@

3 years agoAsus USB-N10 should work with urtwn(4). Patch by Jan Vlach.
stsp [Sun, 25 Apr 2021 15:59:56 +0000 (15:59 +0000)]
Asus USB-N10 should work with urtwn(4). Patch by Jan Vlach.

3 years agoMake urtwn(4) attach to 'ASUS USB-N10 Nano' devices.
stsp [Sun, 25 Apr 2021 15:59:19 +0000 (15:59 +0000)]
Make urtwn(4) attach to 'ASUS USB-N10 Nano' devices.

Patch by Jan Vlach.

3 years agoregen
stsp [Sun, 25 Apr 2021 15:58:14 +0000 (15:58 +0000)]
regen

3 years agoAdd USB product ID for ASUS RTL8188EUS. Patch by Jan Vlach.
stsp [Sun, 25 Apr 2021 15:58:01 +0000 (15:58 +0000)]
Add USB product ID for ASUS RTL8188EUS. Patch by Jan Vlach.

3 years agoImplement support for Rx aggregation offload in iwm(9) and iwx(4), and
stsp [Sun, 25 Apr 2021 15:32:21 +0000 (15:32 +0000)]
Implement support for Rx aggregation offload in iwm(9) and iwx(4), and
re-enable de-aggregation of A-MSDUs in net80211 for all drivers capable
of 11n mode. This can provide improved Rx performance if the access point
supports transmission of A-MSDUs nested in A-MDPUs.

iwm(9) 9k and iwx(4) devices de-aggregate A-MSDUs in hardware.
Neither our drivers nor the net80211 stack were prepared to handle this.

Add two Rx-info flags which drivers can use to avoid having subframes which
arrived in the same A-MSDU rejected as duplicates in the net80211 input layer:
IEEE80211_RXI_HWDEC_SAME_PN allows the same CCMP packet number for a series
of subsequent frames. IEEE80211_RXI_SAME_SEQ allows the same 802.11 frame
header sequence number for a series of subsequent of frames.

Handle A-MPDU reordering on iwm 9k and iwx devices, based on code from iwlwifi.
Rx block ack window information is provided by firmware. So far this info was
ignored by drivers and reordering of A-MPDU subframes happened twice: Once in
firmware, and again in net80211.

Tested:
iwm 7260: bcallah, dv
iwm 7265: mpi, trondd, Matthias Schmidt
iwm 8260: bket, Marcus MERIGHI
iwm 8265: stsp, tracey, Uwe Werler
iwm 9260: phessler, matthieu
iwm 9560: stsp, Uwe Werler
iwx ax200: jmc, stsp
iwx ax201: stsp

3 years agoClean up derivation of finished/peer finished.
jsing [Sun, 25 Apr 2021 13:15:22 +0000 (13:15 +0000)]
Clean up derivation of finished/peer finished.

Make this process more readable by having specific client/server functions,
calling the correct one based on s->server. This allows to remove various
SSL_ST_ACCEPT/SSL_ST_CONNECT checks, along with duplicate code.

ok inoguchi@ tb@

3 years agocleanup riscv64 config glue
jsg [Sun, 25 Apr 2021 02:48:00 +0000 (02:48 +0000)]
cleanup riscv64 config glue

ok kettenis@ visa@

3 years agoImplement per-socket `so_lock' rwlock(9) and use it to protect routing
mvs [Sun, 25 Apr 2021 00:00:34 +0000 (00:00 +0000)]
Implement per-socket `so_lock' rwlock(9) and use it to protect routing
(PF_ROUTE) sockets. This can be done because we have no cases where one
thread should lock two sockets simultaneously.

Also this time `so_lock 'used for routing sockets only but in the future
it will be used to other socket types too.

ok bluhm@

3 years agoSync with arm64 version fixing bugs in some of the more obscure bus_space(9)
kettenis [Sat, 24 Apr 2021 21:37:41 +0000 (21:37 +0000)]
Sync with arm64 version fixing bugs in some of the more obscure bus_space(9)
functions.

ok patrick@