tb [Fri, 24 Aug 2018 20:30:21 +0000 (20:30 +0000)]
Let SSL_copy_session_id() return an int for error checking.
Accordingly, add some error checking to SSL_copy_session_id(),
BIO_ssl_copy_session_id(), and SSL_dup().
Prompted by OpenSSL commit
17dd65e6e1f
Tested in a bulk build by sthen
ok jsing
tb [Fri, 24 Aug 2018 20:26:03 +0000 (20:26 +0000)]
Add const to EVP_PKCS82PKEY().
tested in a bulk by sthen
ok jsing
tb [Fri, 24 Aug 2018 20:22:15 +0000 (20:22 +0000)]
Add consts to EVP_PKEY_asn1_set_private()
Requires adding a const to the priv_decode() member of
EVP_PKEY_ASN1_METHOD and adjusting all *_priv_decode()
functions. All this is already documented this way.
tested in a bulk build by sthen
ok jsing
tb [Fri, 24 Aug 2018 20:17:33 +0000 (20:17 +0000)]
After removing support for broken PKCS#8 formats (it was high time),
we can add const to PKCS8_pkey_get0(). In order for this to work,
we need to sprinkle a few consts here and there.
tested in a bulk by sthen
ok jsing
tb [Fri, 24 Aug 2018 20:12:24 +0000 (20:12 +0000)]
The broken pkcs8 formats generated by openssl pkcs -{embed,nooct,nsdb}
are no longer supported. Remove their documentation.
ok jsing
tb [Fri, 24 Aug 2018 20:09:56 +0000 (20:09 +0000)]
Stop handling broken PKCS#8 formats in openssl(1).
ok jsing
tb [Fri, 24 Aug 2018 20:07:41 +0000 (20:07 +0000)]
Remove EVP_PKEY2PKCS8_broken() and PKCS8_set_broken()
Provide PKCS8_pkey_add1_attr_by_NID() and PKCS8_pkey_get0_attrs().
Remove the whole broken code and simplify pkcs8_priv_key_info_st
accordingly. Based on OpenSSL commit
54dbf42398e23349b59f258a3dd60387bbc5ba13 plus some const that was
added later.
tested in a bulk build by sthen
ok jsing
tb [Fri, 24 Aug 2018 20:04:10 +0000 (20:04 +0000)]
Document const change for OCSP_cert_to_id()
ok jsing
tb [Fri, 24 Aug 2018 20:03:21 +0000 (20:03 +0000)]
Add const to two arguments of OCSP_cert_to_id()
tested in a bulk by sthen
ok jsing
tb [Fri, 24 Aug 2018 19:59:32 +0000 (19:59 +0000)]
Provide X509_get0_serialNumber()
tested in a bulk by sthen
ok jsing
tb [Fri, 24 Aug 2018 19:55:58 +0000 (19:55 +0000)]
Turn a number of #defines into proper functions with prototypes matching
those that OpenSSL has had for ages.
ok jsing
tb [Fri, 24 Aug 2018 19:51:31 +0000 (19:51 +0000)]
Change PEM_Sign{Init,Update}() to return an int.
tested in a bulk by sthen
ok jsing
tb [Fri, 24 Aug 2018 19:48:39 +0000 (19:48 +0000)]
Check return value of EVP_EncodeUpdate() in PEM_write_bio().
ok jsing
tb [Fri, 24 Aug 2018 19:47:25 +0000 (19:47 +0000)]
Check return value of EVP_EncodeUpdate() in b64_write().
ok jsing
tb [Fri, 24 Aug 2018 19:45:11 +0000 (19:45 +0000)]
Convert EVP_EncodeUpdate() to return an int to allow for error
checking. Matches our documented behavior.
Based on OpenSSL commit
c5ebfcab713a82a1d46a51c8c2668c419425b387
tested in a bulk by sthen
ok jsing
tb [Fri, 24 Aug 2018 19:36:52 +0000 (19:36 +0000)]
Provide EVP_CIPHER_CTX_encrypting().
tested in a bulk by sthen
ok jsing
jsing [Fri, 24 Aug 2018 19:35:05 +0000 (19:35 +0000)]
unifdef DTLS1_AD_MISSING_HANDSHAKE_MESSAGE.
This code has been rotting since 2006.
ok bcook@ tb@
tb [Fri, 24 Aug 2018 19:32:26 +0000 (19:32 +0000)]
Document prototype change and return values for BIO_set_cipher()
ok jsing
tb [Fri, 24 Aug 2018 19:30:24 +0000 (19:30 +0000)]
Return an int in BIO_set_cipher() to be able to report errors.
tested in a bulk by sthen
ok jsing
tb [Fri, 24 Aug 2018 19:27:01 +0000 (19:27 +0000)]
In DSO_up_ref(), check return value of CRYPTO_add() and report
failure accordingly.
ok jsing
tb [Fri, 24 Aug 2018 19:25:31 +0000 (19:25 +0000)]
In ENGINE_up_ref(), check return value of CRYPTO_add() and report
failure accordingly.
ok jsing
tb [Fri, 24 Aug 2018 19:23:07 +0000 (19:23 +0000)]
Document new prototype and return values of X509_OBJECT_up_ref_count()
ok jsing
tb [Fri, 24 Aug 2018 19:21:09 +0000 (19:21 +0000)]
Make X509_OBJECT_up_ref_count return an int.
Based on OpenSSL commit
c5ebfcab713a82a1d46a51c8c2668c419425b387
tested in a bulk by sthen
ok jsing
tb [Fri, 24 Aug 2018 19:17:38 +0000 (19:17 +0000)]
Update documentation of CRYPTO_mem_leaks*.
ok jsing
tb [Fri, 24 Aug 2018 19:16:03 +0000 (19:16 +0000)]
Let CRYPTO_mem_leaks{,_fp,_cb}() return -1.
These functions are no-ops. Their signature was changed by OpenSSL
to allow error checking. This way we return an error and do not
indicate the (non-)existence of memory leaks.
tested in a bulk by sthen
ok jsing
cheloha [Fri, 24 Aug 2018 18:36:56 +0000 (18:36 +0000)]
Drop special handling of SIGSYS.
Tolerance for up to 25 SIGSYS deliveries was added to init(8) soon after
the addition of sysctl(2) at CSRG, presumably to ease the transition to
the new ABI.
After 25 years of work the ABI transition is finally complete and we can
now safely remove this splint.
In general, we now have better practices and methods for helping userspace
across kernel ABI breaks.
ok deraadt@
jsing [Fri, 24 Aug 2018 18:10:25 +0000 (18:10 +0000)]
Simplify session ticket parsing/handling.
The original implementation is rather crazy and means that we effectively
have two lots of code that parse a ClientHello and two lots of code that
parse TLS extensions. Partially simplify this by passing a CBS containing
the extension block through to the session handling functions, removing the
need to reimplement the ClientHello parsing.
While here standarise on naming for session_id and session_id_len.
ok inoguchi@ tb@
jsing [Fri, 24 Aug 2018 17:44:22 +0000 (17:44 +0000)]
Pull up the parsing of a ClientHello.
Parse up until the extensions (if any), then proceed with processing,
rather than gradually parsing while processing. This makes the code
cleaner, requires messages to be valid before processing and makes way
for upcoming changes.
ok inoguchi@ tb@
tb [Fri, 24 Aug 2018 17:37:25 +0000 (17:37 +0000)]
Add my copyright.
Discussed with jsing
tb [Fri, 24 Aug 2018 17:35:52 +0000 (17:35 +0000)]
Remove DSA from TODO list and add RSA-PSS back.
tb [Fri, 24 Aug 2018 17:34:46 +0000 (17:34 +0000)]
Also test DSA with the DER encoded key. Lots of help from jsing, thanks!
jsing [Fri, 24 Aug 2018 17:30:32 +0000 (17:30 +0000)]
Clean up handshake message start/finish functions.
Now that all handshake messages are created using CBB, remove the non-CBB
ssl3_handshake_msg_start()/ssl3_handshake_msg_finish() functions. Rename
the CBB variants by dropping the _cbb suffix.
ok bcook@ inoguchi@ tb@
visa [Fri, 24 Aug 2018 16:07:01 +0000 (16:07 +0000)]
Add common Ethernet interface attributes to vio(4)'s build config.
OK deraadt@
edd [Fri, 24 Aug 2018 13:14:14 +0000 (13:14 +0000)]
/tmp/cvsJqyynm
visa [Fri, 24 Aug 2018 12:46:39 +0000 (12:46 +0000)]
Add a regression test for the kernel stack exhaustion bug.
OK anton@
visa [Fri, 24 Aug 2018 12:45:27 +0000 (12:45 +0000)]
Remove all knotes from a file descriptor before closing the file in
fdfree(). This fixes a resource leak with cyclic kqueue references and
prevents a kernel stack exhaustion scenario with long kqueue chains.
OK mpi@
jmatthew [Fri, 24 Aug 2018 12:35:10 +0000 (12:35 +0000)]
Include the list of multicast groups in the rx filter configuration.
The adapter reads this from host memory, so we allocate a new page for it.
The rx filter code ends up looking a lot more like other drivers as a
result.
sashan [Fri, 24 Aug 2018 12:29:33 +0000 (12:29 +0000)]
- cosmetic tweak to if_pfsync.c
OK bluhm@, OK mpi@, henning@, jca@
mestre [Fri, 24 Aug 2018 11:31:17 +0000 (11:31 +0000)]
During our refactor with tedu@ tb@ and myself we moved the score file to the
user's home folder and setgid was removed. Therefore it's not possible to have a
single score file with all the users anymore but we forgot to change a comment
that still implied that.
Suggested by tb@ to just delete the comment.
mestre [Fri, 24 Aug 2018 11:14:49 +0000 (11:14 +0000)]
Remove a few too early pledge(2)s on games/ and apply them a little bit later
but with much reduced permissions ("stdio tty" if ncurses based and "stdio"
for the ones that only perform basic operations).
There's still a few games that we cannot yet remove their fs access, through
pledge(2), since they open files on demand and too late, this might get
revisited in the future.
OK tb@
jsg [Fri, 24 Aug 2018 06:43:22 +0000 (06:43 +0000)]
display CPU_CPUID / machdep.cpuid in hex not decimal
jsg [Fri, 24 Aug 2018 06:25:40 +0000 (06:25 +0000)]
print cpu family/model/stepping in dmesg
discussed with deraadt@ bluhm@ and sthen@
kettenis [Fri, 24 Aug 2018 05:21:48 +0000 (05:21 +0000)]
Allocate framebuffer PCI BAR if left uninitialized by firmware.
ok mlarkin@
jmatthew [Fri, 24 Aug 2018 02:26:31 +0000 (02:26 +0000)]
set the rx mask to always accept all vlan tags, making vlan interfaces
on top of bnxt work properly.
yasuoka [Fri, 24 Aug 2018 01:42:41 +0000 (01:42 +0000)]
Don't treat UnicodeChar == 0 as a keyboard input.
This fixes the problem that which prevents typing the passpharase for
softraid on boot. It happened at least with some external keyboards
on ThinkPad X2{6,8}0. diff from Frank Groeneveld
ok tb
tb [Thu, 23 Aug 2018 19:46:59 +0000 (19:46 +0000)]
Run our DSA against wycheproof test vectors.
schwarze [Thu, 23 Aug 2018 19:32:03 +0000 (19:32 +0000)]
The upcoming .while request will have to re-execute roff(7) lines
parsed earlier, so they will have to be saved for reuse - but the
read.c preparser does not know yet whether a line contains a .while
request before passing it to the roff parser. To cope with that,
save all parsed lines for now. Even shortens the code by 20 lines.
nicm [Thu, 23 Aug 2018 18:39:12 +0000 (18:39 +0000)]
all_jobs can be static.
deraadt [Thu, 23 Aug 2018 16:52:13 +0000 (16:52 +0000)]
A sequence of increasingly restrictive pledges was already present
in su. Rearrange them slightly, so that a unveil's can be added
also. (Sometimes you only learn a required path late in the game,
you don't know them upfront at program start. That is the tricky bit)
tj [Thu, 23 Aug 2018 16:28:12 +0000 (16:28 +0000)]
switch installurl example to cdn.openbsd.org
nicm [Thu, 23 Aug 2018 15:45:05 +0000 (15:45 +0000)]
Move job struct into job.c.
patrick [Thu, 23 Aug 2018 15:31:12 +0000 (15:31 +0000)]
Set the pointer to the EFI Runtime Services, otherwise we call into
nowhere.
ok kettenis@
inoguchi [Thu, 23 Aug 2018 15:16:21 +0000 (15:16 +0000)]
Add license header.
inoguchi [Thu, 23 Aug 2018 14:54:28 +0000 (14:54 +0000)]
Check reusing SSL/TLS session ticket by regression test
- Added checking for session ticket reusing with using openssl(1) s_server and
s_client command in appstest.sh
- Confirm certificate verification status.
- Save s_server message to log file.
ok tb@ and jsing@
jsg [Thu, 23 Aug 2018 14:47:52 +0000 (14:47 +0000)]
port the amd64 code for loading intel microcode on boot to i386
ok deraadt@ mlarkin@
schwarze [Thu, 23 Aug 2018 14:16:11 +0000 (14:16 +0000)]
Implement the roff(7) .shift and .return requests,
for example used by groff_hdtbl(7) and groff_mom(7).
Also correctly interpolate arguments during nested macro execution
even after .shift and .return, implemented using a stack of argument
arrays.
Note that only read.c, but not roff.c can detect the end of a macro
execution, and the existence of .shift implies that arguments cannot
be interpolated up front, so unfortunately, this includes a partial
revert of roff.c rev. 1.209, moving argument interpolation back into
the function roff_res().
krw [Thu, 23 Aug 2018 13:21:27 +0000 (13:21 +0000)]
Always check the return values of get_[fsize|bsize|cpg].
Accept partition changes only if all succeed.
ok tb@ deraadt@
eric [Thu, 23 Aug 2018 10:07:06 +0000 (10:07 +0000)]
import alternative message parser (not used yet).
mestre [Thu, 23 Aug 2018 06:27:54 +0000 (06:27 +0000)]
We can safely assume that our utmp(5) file format implementation can guarantee
space for the NUL character, nevertheless there will always be some piece of
software that can get it wrong and corrupt the database, so we must take this
into consideration.
That being said, there is one strlcpy(3) that needs to be reverted back into
strncpy(3) + '\0' since if we try to use a bogus wtmp(5) file with ac(8) that
is big enough then the NUL char is not verified and it will write memory
out-of-bounds which will make the program crash.
discussed with and OK cheloha@ deraadt@
mestre [Thu, 23 Aug 2018 06:26:35 +0000 (06:26 +0000)]
reduce pledge(2) to "stdio tty" after ncurses initialization. robots(6) uses a
scorefile nevertheless an fd is opened way in advance and therefore we can
disable any further access to the filesystem.
OK tb@
mestre [Thu, 23 Aug 2018 06:25:01 +0000 (06:25 +0000)]
reduce pledge(2) to "stdio tty" after ncurses initialization.
OK tb@
reyk [Thu, 23 Aug 2018 06:04:53 +0000 (06:04 +0000)]
Allow to boot CDROM-only VMs.
Pointed out by Jon Williams
OK mlarkin@ kn@ ccardenas@
djm [Thu, 23 Aug 2018 03:01:08 +0000 (03:01 +0000)]
memleak introduced in r1.83; from Colin Watson
jmatthew [Thu, 23 Aug 2018 01:40:26 +0000 (01:40 +0000)]
remove hwrm interface code for nvram reads and writes, firmware updates,
and wol filters, none of which we're going to use.
jmatthew [Thu, 23 Aug 2018 01:06:06 +0000 (01:06 +0000)]
rearrange txeof so it processes slots up to the index given in the
completion event, and only request completion events for the last packet
we place on the ring in bnxt_start, which doesn't do anything now but
will make tx faster when we get tx mitigation working.
jmatthew [Thu, 23 Aug 2018 00:22:53 +0000 (00:22 +0000)]
set interrupt aggregation parameters so we get around 10000 interrupts
per second, which makes a pretty sizable improvement to rx performance.
kettenis [Wed, 22 Aug 2018 21:15:53 +0000 (21:15 +0000)]
Initialize bridge registers instead of relying on ppb(4) to do it for us.
This gives us more control over the I/O windows that we expose such that
we can make enough address space available for graphics cards.
cheloha [Wed, 22 Aug 2018 20:36:24 +0000 (20:36 +0000)]
Use a monotonic clock for the benchmark timeout.
While here, we don't need the app_timer_* wrapper function, it only
obfuscates things, so delete it. Also while here, totalTime only needs
to be assigned once.
ok tb@
nicm [Wed, 22 Aug 2018 20:06:14 +0000 (20:06 +0000)]
Add StatusLeft and StatusRight mouse key modifiers for the left and
right parts of the status line.
cheloha [Wed, 22 Aug 2018 19:48:48 +0000 (19:48 +0000)]
frag6_slowtimo: push NET_LOCK into frag6_freef around icmp6_error.
icmp6_error() still probably needs the NET_LOCK, as the call chain
icmp6_error -> icmp6_reflect -> rt_match -> rt_clone -> rtrequest
is possible.
The fragment discard loop in frag6_slowtimo and the other
cleanup bits in frag6_freef do not require it however. So
push the lock down into frag6_freef around icmp6_error.
Prompted by mpi. Discussed with bluhm and kn. Regress test help
by bluhm. Additional testing by kn.
ok kn@ visa@ mpi@
jsing [Wed, 22 Aug 2018 17:46:29 +0000 (17:46 +0000)]
Correct session ticket encryption.
The CBB conversion resulted in the ticket encryption being handled
incorrectly, resulting in only the last block being used. Fix this and
restore the previous behaviour.
Issue found by inoguchi@ and sebastia@.
ok inoguchi@ and tb@
tb [Wed, 22 Aug 2018 16:53:36 +0000 (16:53 +0000)]
Let /etc/installurl default to cdn.openbsd.org if it doesn't exist and no
official mirror was used. This way, people doing installs without network
access also get working pkg_add and syspatch experience out of the box.
Idea from tj
ok halex, job (who made it all possible), deraadt
mpi [Wed, 22 Aug 2018 15:38:46 +0000 (15:38 +0000)]
Enable uscom(4) where uslcom(4) is already present.
Based on a submisison from Jan Klemkow.
mpi [Wed, 22 Aug 2018 15:32:49 +0000 (15:32 +0000)]
Work well with the Dynastream ANTUSB-m, from Jan Klemkow.
mpi [Wed, 22 Aug 2018 15:31:05 +0000 (15:31 +0000)]
regen
mpi [Wed, 22 Aug 2018 15:30:20 +0000 (15:30 +0000)]
Dynastream ANTUSB-m, from Jan Klemkow.
bluhm [Wed, 22 Aug 2018 13:32:11 +0000 (13:32 +0000)]
Update libexpat to 2.2.6. Relevant for OpenBSD is
- Avoid doing arithmetic with NULL pointers in XML_GetBuffer
- Fix 2.2.5 regression with suspend-resume while parsing
a document like '<root/>'
- Address compiler warnings
- Fix miscellaneous typos
aoyama [Wed, 22 Aug 2018 11:25:58 +0000 (11:25 +0000)]
Adding membar_xxx defines to userland.
The src/lib/libc/thread/rthread.c 1.8 change adds #include
<sys/atomic.h> in userland code.
Current m88k atomic.h contents are inside of #if defined(_KERNEL)
guard, then, nothing is defined for userland program.
So we need adding some defines to compile it on m88k.
The original diff is suggested from Miod Vallat, modified by the
advice from mpi@ and kettenis@.
ok kettenis@
eric [Wed, 22 Aug 2018 10:11:43 +0000 (10:11 +0000)]
Fix a crash when relaying with authentication but auth table is not set.
found by and ok stsp@
kettenis [Tue, 21 Aug 2018 22:16:42 +0000 (22:16 +0000)]
Implement address translation. Makes I/O space access work.
millert [Tue, 21 Aug 2018 20:20:04 +0000 (20:20 +0000)]
Use an mmap()'d buffer instead of a static buffer for the contents
of the pointer returned by getpw{ent,nam,uid}(). We unmap the
buffer each time to catch callers using a stale passwd struct
pointer. As a special case, we do not unmap the buffer if the
previous lookup was for the same name or uid. This special case
may be removed in the future. OK deraadt@
deraadt [Tue, 21 Aug 2018 19:04:38 +0000 (19:04 +0000)]
Perform mitigations for Intel L1TF screwup. There are three options:
(1) Future cpus which don't have the bug, (2) cpu's with microcode
containing a L1D flush operation, (3) stuffing the L1D cache with fresh
data and expiring old content. This stuffing loop is complicated and
interesting, no details on the mitigation have been released by Intel so
Mike and I studied other systems for inspiration. Replacement algorithm
for the L1D is described in the tlbleed paper. We use a 64K PA-linear
region filled with trapsleds (in case there is L1D->L1I data movement).
The TLBs covering the region are loaded first, because TLB loading
apparently flows through the D cache. Before performing vmlaunch or
vmresume, the cachelines covering the guest registers are also flushed.
with mlarkin, additional testing by pd, handy comments from the
kettenis and guenther peanuts
bluhm [Tue, 21 Aug 2018 18:42:40 +0000 (18:42 +0000)]
Link arch amd64 regress to build.
bluhm [Tue, 21 Aug 2018 18:35:18 +0000 (18:35 +0000)]
Check the FPU environment of user land processes after exec and the
proc0 kernel thread for FPU initialization values.
schwarze [Tue, 21 Aug 2018 18:15:16 +0000 (18:15 +0000)]
Implement the \\$@ escape sequence (insert all macro arguments,
quoted) in addition to the already supported \\$* (similar, but
unquoted). Then use \\$@ to improve the implementation of
the .als request (macro alias).
Needed by groff_hdtbl(7).
Gosh, it feels like the manual pages of the groff package are
exercising every bloody roff(7) feature under the sun. In the
manual page source code itself, not merely in the implementation
of the used macro packages, that is.
anton [Tue, 21 Aug 2018 18:09:34 +0000 (18:09 +0000)]
cope with latest config changes; ok jmc@
anton [Tue, 21 Aug 2018 18:06:12 +0000 (18:06 +0000)]
Rework kcov kernel config. Instead of treating kcov as both an option and a
pseudo-device, get rid of the option. Enabling kcov now requires the following
line to be added to the kernel config:
pseudo-device kcov 1
This is how pseudo devices are enabled in general. A side-effect of this change
is that dev/kcov.c will no longer be compiled by default.
Prodded by deraadt@; ok mpi@ visa@
akoshibe [Tue, 21 Aug 2018 16:40:23 +0000 (16:40 +0000)]
Fix alignment fault in switchd(8) on sparc64. Use memcpy to set oxm_value,
which isn't aligned to 64 bits.
Based on pointers from Ori Bernstein
Reported by Ryan Keating
ok yasuoka@ deraadt@
tb [Tue, 21 Aug 2018 16:34:40 +0000 (16:34 +0000)]
fix return value
krw [Tue, 21 Aug 2018 16:34:27 +0000 (16:34 +0000)]
Unbreak 'R'esize.
Problem noted and fix tested by jcs@.
ok otto@
tb [Tue, 21 Aug 2018 16:31:16 +0000 (16:31 +0000)]
Remove ChaCha20-Poly1305 from the TODO list
tb [Tue, 21 Aug 2018 16:25:11 +0000 (16:25 +0000)]
A failure to _seal() should be looked into, so turn this into an
unconditional failure.
tb [Tue, 21 Aug 2018 16:23:21 +0000 (16:23 +0000)]
Factor the calls to EVP_AEAD_CTX_open() and EVP_AEAD_CTX_seal() into
their own functions to make it easier to handle failures cleanly.
Discussed with jsing
schwarze [Tue, 21 Aug 2018 16:01:38 +0000 (16:01 +0000)]
Improve the ASCII rendering of \(Po (Pound Sterling)
and of the playing card suits to match groff, using feedback
from Ralph Corderoy <ralph at inputplus dot co dot uk>.
cheloha [Tue, 21 Aug 2018 15:56:39 +0000 (15:56 +0000)]
Merge duplicate benchmark() GET/SSL_shutdown blocks into doConnection().
We need to then remove the shadow i from the GET block. While there,
move retval's declaration to the beginning of the function.
As doConnection() now executes the body of the benchmark's test, rename
it to "run_test".
Shadow variable spotted by tb@.
ok tb@
schwarze [Tue, 21 Aug 2018 13:56:27 +0000 (13:56 +0000)]
AIX reports the CODESET as "ISO8859-1" in the POSIX locale.
Treating that as a safe encoding is OK because even when other
systems return that string for real ISO8859-1, it is still
safe in the sense that it is ASCII-compatible and stateless.
Issue reported by Val dot Baranov at duke dot edu. Additional
information provided by Michael dot Felt at felt dot demon dot nl.
Tested by Michael Felt on AIX 6.1 and by Val Baranov on AIX 7.1.
Tweak and OK djm@.
visa [Tue, 21 Aug 2018 13:50:31 +0000 (13:50 +0000)]
Use explicit fd indexing to access fd_ofiles, to clarify the code.
OK mpi@
bluhm [Tue, 21 Aug 2018 13:10:13 +0000 (13:10 +0000)]
If a kernel thread was created by a user land system call, the user
land FPU context was saved to proc0. This was an information leak
as proc0 is used to initialize the FPU at exec and signal handlers.
Never save the FPU to proc0, it has the initialization value. Also
check whether the FPU has valid user land state that has to be
forked.
This bug is a regression from the eager FPU commit. OK guenther@
jsg [Tue, 21 Aug 2018 12:44:13 +0000 (12:44 +0000)]
print rdtscp and xsave_ext cpuid bits on i386 as well
move printing of ecxfeatures bits to match amd64
bluhm [Tue, 21 Aug 2018 12:34:11 +0000 (12:34 +0000)]
If the control message of IP_SENDSRCADDR did not fit into the socket
buffer together with an UDP packet, sosend(9) returned EWOULDBLOCK.
As it is an persistent problem, EMSGSIZE is the correct error code.
Split the AF_UNIX case into a separate condition and do not change
its logic. For atomic protocols, check that both data and control
message length fit into the socket buffer.
original bug report from Alexander Markert
discussed with jca@; OK vgross@